SSD Write performance


Recommended Posts

I had no issues with the first boot or windows install, had issues with reboots.

 

After any guest reboot seabios wouldn't detect any device to boot, had to reboot the host. Enabled some weird option in bios to support legacy boot in the asmedia controller, and working perfectly. Still was expecting more performance, apparently the speed is limited on the controller to the 200MB/s?

 

 

Link to comment
  • Replies 72
  • Created
  • Last Reply

Top Posters In This Topic

04:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 01) (prog-if 01 [AHCI 1.0])
Subsystem: ASRock Incorporation Motherboard
Flags: bus master, fast devsel, latency 0, IRQ 29
I/O ports at c050 [size=8]
I/O ports at c040 [size=4]
I/O ports at c030 [size=8]
I/O ports at c020 [size=4]
I/O ports at c000 [size=32]
Memory at f7800000 (32-bit, non-prefetchable) [size=512]
Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [78] Power Management version 3
Capabilities: [80] Express Legacy Endpoint, MSI 00
Capabilities: [100] Virtual Channel
Kernel driver in use: vfio-pci
Kernel modules: ahci

 

Edit: Not stubbing anything, just making sure Unraid doesn't use the disk in this controller.

Link to comment

I don’t use VMs but in Unraid the Asmedia 1601 is capable of running 2 SSDs @ 205MB/s each simultaneously, maybe in the VM it’s linking at pcie v1.1 speeds? That would explain half the speed…

 

Any chance you can try the performance of one disk alone too see if it can go above the 205MB/s?

Link to comment

Thanks, definitely something weird with my limitation at 200MB/s.

 

Will try to dig deeper later today.

 

If your mobo is quite old and uses pci-e 1.0 spec, it'll be using one pci-e lane which is around 250MB/s.. so with the overhead of the controller, 205MB/s seems about right.

thats my guess anyway.

Also worth noting, if your mobo does use pci-e 1.0, installing a 1x card will have the same results performance wise as your onboard controller. you'd need to splash out on a x4 or x8 card. Would probably work out cheaper to get a new motherboard with onboard SATA3.

Link to comment

Thanks, definitely something weird with my limitation at 200MB/s.

 

Will try to dig deeper later today.

 

If your mobo is quite old and uses pci-e 1.0 spec, it'll be using one pci-e lane which is around 250MB/s.. so with the overhead of the controller, 205MB/s seems about right.

thats my guess anyway.

Also worth noting, if your mobo does use pci-e 1.0, installing a 1x card will have the same results performance wise as your onboard controller. you'd need to splash out on a x4 or x8 card. Would probably work out cheaper to get a new motherboard with onboard SATA3.

 

The motherboard is not that old. It's this one http://www.asrock.com/mb/Intel/Z77%20Extreme4-M/, and it's clear in the manual that it should support SATA 3 speeds. Could it be from the bus=pcie.0 when passing through the controller?

 

I can boot this windows into native windows 10, and give a try there, to compare speeds.

 

 

Link to comment

Thanks a lot. Doing lspci -vv guess I have the issue

 

	LnkCap:	Port #1, Speed 5GT/s, Width x1, ASPM L0s, Latency L0 <512ns, L1 <2us
		ClockPM- Surprise- LLActRep- BwNot-
	LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
		ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
	LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-

 

I would read that it has capability for 5GT/s but established at 2.5GT/s. This explains the issue. Any suggestions how to move forward?

 

Strangely my Nvidia card (GTX 960) has similar issue..

LnkCap:	Port #0, Speed 8GT/s, Width x16, ASPM unknown, Latency L0 <512ns, L1 <4us
		ClockPM+ Surprise- LLActRep- BwNot-
	LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
		ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
	LnkSta:	Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-

Link to comment

Is it possible a USB controller or NIC is sharing the PCI-e lane? some further tests to rule that out could be to check other devices like USB\NIC to see if they have the same speed discrepancy. If yes, disable the SATA controller in the BIOS and then check them again for any change in the LnkSta speed?

 

That doesnt explain why your graphics card is doing the same though :/

Link to comment

Something looks not right here.

The link speed of 5GT is PCI-E 2.0, but for some reason it runs at 1.0 speed (2.5GT)

 

The Nvidia card looks to be connected to an PCI-E 3.0 port (8GT), but is running too as an 1.0 card (2.5GT)

 

This was the info I found about the PCI lanes on this card:

 

"The ASRock Z77 Extreme4-M comes with two PCI Express 3.0/2.0 x16 slots, one PCI Express 2.0 x16 slot (working at x4), and one PCI Express 2.0 x1 slot.

 

The two PCI Express 3.0/2.0 x16 slots are controlled by the CPU, with the first slot working at x16 when only one video card is installed, and with both working at x8 when two video cards are installed. Since these slots are controlled by the CPU, they will offer PCI Express 2.0 bandwidth (8 GB/s at x16) when a “Sandy Bridge” CPU is installed, but PCI Express 3.0 bandwidth (16 GB/s at x16) when an “Ivy Bridge” CPU is used.

The third PCI Express x16 slot (PCIE4) is controlled by the chipset, always works at x4 speed, and uses 2.0 bandwidth. You won’t be able to use this slot if you install a dual-slot video card in the second PCI Express 3.0/2.0 x16 slot."

 

Link to comment

Something looks not right here.

The link speed of 5GT is PCI-E 2.0, but for some reason it runs at 1.0 speed (2.5GT)

 

The Nvidia card looks to be connected to an PCI-E 3.0 port (8GT), but is running too as an 1.0 card (2.5GT)

 

This was the info I found about the PCI lanes on this card:

 

"The ASRock Z77 Extreme4-M comes with two PCI Express 3.0/2.0 x16 slots, one PCI Express 2.0 x16 slot (working at x4), and one PCI Express 2.0 x1 slot.

 

The two PCI Express 3.0/2.0 x16 slots are controlled by the CPU, with the first slot working at x16 when only one video card is installed, and with both working at x8 when two video cards are installed. Since these slots are controlled by the CPU, they will offer PCI Express 2.0 bandwidth (8 GB/s at x16) when a “Sandy Bridge” CPU is installed, but PCI Express 3.0 bandwidth (16 GB/s at x16) when an “Ivy Bridge” CPU is used.

The third PCI Express x16 slot (PCIE4) is controlled by the chipset, always works at x4 speed, and uses 2.0 bandwidth. You won’t be able to use this slot if you install a dual-slot video card in the second PCI Express 3.0/2.0 x16 slot."

 

Agree, something is strange, will take a better look at home. Maybe the gpu is at 2.5 for power saving reasons?.

 

Anyway my CPU is an Ivy Bridge (i5-3470), and only one pci express card is used, so it should even use the 16GB/s.

Link to comment

On Unraid, before passing through the devices though kvm

 

Nvidia

 
	LnkCap:	Port #0, Speed 8GT/s, Width x16, ASPM unknown, Latency L0 <1us, L1 <4us
		ClockPM+ Surprise- LLActRep- BwNot-
	LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
		ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
	LnkSta:	Speed 8GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-

 

Asmedia controller

	LnkCap:	Port #1, Speed 5GT/s, Width x1, ASPM L0s, Latency L0 <512ns, L1 <2us
		ClockPM- Surprise- LLActRep- BwNot-
	LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
		ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
	LnkSta:	Speed 5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-

 

Worst. Before starting the VM

root@Tower:~# lspci -vv | grep LnkSta
	LnkSta:	Speed 8GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt+ ABWMgmt+
	LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete+, EqualizationPhase1+
	LnkSta:	Speed unknown, Width x0, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-
	LnkSta:	Speed 2.5GT/s, Width x0, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
	LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-
	LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt+ ABWMgmt-
	LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-
	LnkSta:	Speed 5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt+ ABWMgmt-
	LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
	LnkSta:	Speed 8GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
	LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete+, EqualizationPhase1+
	LnkSta:	Speed 8GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
	LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-
	LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
	LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
	LnkSta:	Speed 5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
	LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-

 

After Starting VM

root@Tower:~# lspci -vv | grep LnkSta
	LnkSta:	Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt+ ABWMgmt+
	LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete+, EqualizationPhase1+
	LnkSta:	Speed unknown, Width x0, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-
	LnkSta:	Speed 2.5GT/s, Width x0, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
	LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-
	LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt+ ABWMgmt-
	LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-
	LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt+ ABWMgmt-
	LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-
	LnkSta:	Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
	LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete+, EqualizationPhase1+
	LnkSta:	Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
	LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-
	LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
	LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
	LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
	LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-

 

Link to comment
  • 4 weeks later...

ok, im back to fiddling with this again...

 

as a lot of stuff isnt supported by the drivers in windows, ive changed to ubuntu to test some different disk configurations.

 

Im giving the DirectLUN disk a try, but i think something isnt enabled in the unraid kernel to allow this? (im not a linux guy so im not sure if thats correct or not...)

 

This is my disk config:

<disk type='block' device='lun' rawio='no' sgio='unfiltered'>
      <driver name='qemu' type='raw'/>
      <source dev='/dev/sdg'/>
      <target dev='sdd' bus='scsi'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <controller type='scsi' index='0' model='virtio-scsi'>

 

The error i get when starting the VM is:

 

Execution error

 

Requested operation is not valid: unpriv_sgio is not supported by this kernel

 

I can  boot if i take out the sgio option from the XML, but then im back to poor performance again.

Link to comment
  • 2 years later...

Another victim here... However, i feel like i've noticed it get worse over the last few months. The VM has more resources that my PC has, yet performs like my celeron dual core! I have a new server here awaiting time to upgrade, strongly considering VMware hypervisor and then virtualising unRAID so i can get some performance to this VM. My Crystals below for ref - they seem alot higher than those i've seen here, but they're stil ridiculously slow.

 

2018-11-03-09-14-58-Window.png

 

Edit: Setup is raw passthrough of SSD via unassigned dev. and /dev/disk/by-id/

Edited by Nasha
Link to comment
  • 3 months later...
On 11/2/2018 at 6:57 PM, Nasha said:

Another victim here... However, i feel like i've noticed it get worse over the last few months. The VM has more resources that my PC has, yet performs like my celeron dual core! I have a new server here awaiting time to upgrade, strongly considering VMware hypervisor and then virtualising unRAID so i can get some performance to this VM. My Crystals below for ref - they seem alot higher than those i've seen here, but they're stil ridiculously slow.

 

2018-11-03-09-14-58-Window.png

 

Edit: Setup is raw passthrough of SSD via unassigned dev. and /dev/disk/by-id/

Having the same issue. Did you make any progress on this?

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.