Project

General

Profile

Bug #1084

FreeNAS 8.0.2 AHCI driver issues with Marvell 88SE9128

Added by TECK - over 8 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Nice to have
Assignee:
-
Category:
-
Target version:
-
Seen in:
Severity:
New
Reason for Closing:
Reason for Blocked:
Needs QA:
Yes
Needs Doc:
Yes
Needs Merging:
Yes
Needs Automation:
No
Support Suite Ticket:
n/a
Hardware Configuration:
ChangeLog Required:
No

Description

Hi,

I recently purchased a [[HighPoint]] Rocket 620 PCI-Express 2.0 x1 SATA III (6.0Gb/s) controller to extend the number of SATA ports on my NAS. I installed the card on a Supermicro X7SPA-HF-D525-O Intel Atom D525 1.8GHz motherboard with 8GB of RAM. See all setup details here.

When tested on [[FreeBSD]], the card is detected properly as SATA2, confirmed also by a FreeBSD developer. However, when set on [[FreeNAS]], it shows as SATA1. Is the AHCI driver identical, or do you recommended me to add anything to loader.conf file?

Thank you for your help.

History

#1 Updated by TECK - over 8 years ago

Controller Specification (link)
PCI-Express 2.0 x1 (Compatible with PCI-Express 1.0)
Serial ATA III (6.0Gbps) compliant, with speed negotiation Serial ATA II (3Gbps) and Serial ATA I (1.5Gbps)
600MB/s per SATA port
Industry Standard AHCI Compliant
Hot-plug capability
Supports Native Command Queuing (NCQ)
Out-of-the-Box Ready for Windows, Linux (Check AHCI detail OS support list)
Compatible with SATA (III, II, I) Hard Drives, SSD, etc
Support up to 2TB Hard Drives
Power Efficient – Going Green Saves Green
[[RoHS]] compliant

The controller is installed on 1 (x4) PCI-E 2.0 Supermicro (in x16) slot. Based on this review, I should be able to get around 400MB/sec reads with the Rocket 620 controller. For me that is perfect, because my SSD drive can do max 500MB/sec reads and 100MB/sec writes.

# pciconf -lvcb
hostb0@pci0:0:0:0:      class=0x060000 card=0x060a15d9 chip=0xa0008086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    class      = bridge
    subclass   = HOST-PCI
    cap 09[e0] = vendor (length 8) Intel cap 12 version 1
uhci0@pci0:0:26:0:      class=0x0c0300 card=0x060a15d9 chip=0x29378086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801IB/IR/IH (ICH9 Family) USB Universal Host Controller'
    class      = serial bus
    subclass   = USB
    bar   r20 = type I/O Port, range 32, base 0xac00, size 32, enabled
    cap 13r50 = PCI Advanced Features: FLR TP
uhci1@pci0:0:26:1:      class=0x0c0300 card=0x060a15d9 chip=0x29388086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801IB/IR/IH (ICH9 Family) USB Universal Host Controller'
    class      = serial bus
    subclass   = USB
    bar   r20 = type I/O Port, range 32, base 0xa880, size 32, enabled
    cap 13r50 = PCI Advanced Features: FLR TP
uhci2@pci0:0:26:2:      class=0x0c0300 card=0x060a15d9 chip=0x29398086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801IB/IR/IH (ICH9 Family) USB Universal Host Controller'
    class      = serial bus
    subclass   = USB
    bar   r20 = type I/O Port, range 32, base 0xa800, size 32, enabled
    cap 13r50 = PCI Advanced Features: FLR TP
ehci0@pci0:0:26:7:      class=0x0c0320 card=0x060a15d9 chip=0x293c8086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801IB/IR/IH (ICH9 Family) USB2 Enhanced Host Controller'
    class      = serial bus
    subclass   = USB
    bar   r10 = type Memory, range 32, base 0xfebfbc00, size 1024, enabled
    cap 01r50 = powerspec 2  supports D0 D3  current D0
    cap 0ar58 = EHCI Debug Port at offset 0xa0 in map 0x14
    cap 13r98 = PCI Advanced Features: FLR TP
pcib1@pci0:0:28:0:      class=0x060400 card=0x060a15d9 chip=0x29408086 rev=0x02 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '82801IB/IR/IH (ICH9 Family) PCIe Root Port 1'
    class      = bridge
    subclass   = PCI-PCI
    cap 10r40 = PCI-Express 1 root port max data 128(128) link x1(x4)
    cap 05r80 = MSI supports 1 message 
    cap 0dr90 = PCI Bridge card=0x060a15d9
    cap 01[a0] = powerspec 2  supports D0 D3  current D0
ecap 0002r100 = VC 1 max VC0
ecap 0005r180 = unknown 1
pcib2@pci0:0:28:4:      class=0x060400 card=0x060a15d9 chip=0x29488086 rev=0x02 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '82801IB/IR/IH (ICH9 Family) PCIe Root Port 5'
    class      = bridge
    subclass   = PCI-PCI
    cap 10r40 = PCI-Express 1 root port max data 128(128) link x1(x1)
    cap 05r80 = MSI supports 1 message 
    cap 0dr90 = PCI Bridge card=0x060a15d9
    cap 01[a0] = powerspec 2  supports D0 D3  current D0
ecap 0002r100 = VC 1 max VC0
ecap 0005r180 = unknown 1
pcib3@pci0:0:28:5:      class=0x060400 card=0x060a15d9 chip=0x294a8086 rev=0x02 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '82801IB/IR/IH (ICH9 Family) PCIe Root Port 6'
    class      = bridge
    subclass   = PCI-PCI
    cap 10r40 = PCI-Express 1 root port max data 128(128) link x1(x1)
    cap 05r80 = MSI supports 1 message 
    cap 0dr90 = PCI Bridge card=0x060a15d9
    cap 01[a0] = powerspec 2  supports D0 D3  current D0
ecap 0002r100 = VC 1 max VC0
ecap 0005r180 = unknown 1
uhci3@pci0:0:29:0:      class=0x0c0300 card=0x060a15d9 chip=0x29348086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801IB/IR/IH (ICH9 Family) USB Universal Host Controller'
    class      = serial bus
    subclass   = USB
    bar   r20 = type I/O Port, range 32, base 0xa480, size 32, enabled
    cap 13r50 = PCI Advanced Features: FLR TP
uhci4@pci0:0:29:1:      class=0x0c0300 card=0x060a15d9 chip=0x29358086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801IB/IR/IH (ICH9 Family) USB Universal Host Controller'
    class      = serial bus
    subclass   = USB
    bar   r20 = type I/O Port, range 32, base 0xa400, size 32, enabled
    cap 13r50 = PCI Advanced Features: FLR TP
uhci5@pci0:0:29:2:      class=0x0c0300 card=0x060a15d9 chip=0x29368086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801IB/IR/IH (ICH9 Family) USB Universal Host Controller'
    class      = serial bus
    subclass   = USB
    bar   r20 = type I/O Port, range 32, base 0xa080, size 32, enabled
    cap 13r50 = PCI Advanced Features: FLR TP
ehci1@pci0:0:29:7:      class=0x0c0320 card=0x060a15d9 chip=0x293a8086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801IB/IR/IH (ICH9 Family) USB2 Enhanced Host Controller'
    class      = serial bus
    subclass   = USB
    bar   r10 = type Memory, range 32, base 0xfebfb800, size 1024, enabled
    cap 01r50 = powerspec 2  supports D0 D3  current D0
    cap 0ar58 = EHCI Debug Port at offset 0xa0 in map 0x14
    cap 13r98 = PCI Advanced Features: FLR TP
pcib4@pci0:0:30:0:      class=0x060401 card=0x060a15d9 chip=0x244e8086 rev=0x92 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '82801 Family (ICH2/3/4/5/6/7/8/9,63xxESB) Hub Interface to PCI Bridge'
    class      = bridge
    subclass   = PCI-PCI
    cap 0dr50 = PCI Bridge card=0x060a15d9
isab0@pci0:0:31:0:      class=0x060100 card=0x060a15d9 chip=0x29168086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801IR (ICH9R) LPC Interface Controller'
    class      = bridge
    subclass   = PCI-ISA
    cap 09[e0] = vendor (length 12) Intel cap 1 version 0
                 features: SATA RAID-5, 4 PCI-e x1 slots
ahci1@pci0:0:31:2:      class=0x010601 card=0x060a15d9 chip=0x29228086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801IB/IR/IH (ICH9 Family) 6 port SATA AHCI Controller'
    class      = mass storage
    subclass   = SATA
    bar   r10 = type I/O Port, range 32, base 0x9480, size  8, enabled
    bar   r14 = type I/O Port, range 32, base 0xa000, size  4, enabled
    bar   r18 = type I/O Port, range 32, base 0x9c00, size  8, enabled
    bar   [1c] = type I/O Port, range 32, base 0x9880, size  4, enabled
    bar   r20 = type I/O Port, range 32, base 0x9800, size 32, enabled
    bar   r24 = type Memory, range 32, base 0xfebfb000, size 2048, enabled
    cap 05r80 = MSI supports 16 messages enabled with 1 message
    cap 01r70 = powerspec 3  supports D0 D3  current D0
    cap 12[a8] = SATA Index-Data Pair
    cap 13[b0] = PCI Advanced Features: FLR TP
none0@pci0:0:31:3:      class=0x0c0500 card=0x060a15d9 chip=0x29308086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Intel(R) ICH9 Family SMBus Controller working fine with http://download.cnet.com/Chipset-Driver-Inte (8086)'
    class      = serial bus
    subclass   = SMBus
    bar   r10 = type Memory, range 64, base 0xfebfac00, size 256, enabled
    bar   r20 = type I/O Port, range 32, base 0x400, size 32, enabled
ahci0@pci0:1:0:0:       class=0x010601 card=0x91231b4b chip=0x91231b4b rev=0x11 hdr=0x00
    class      = mass storage
    subclass   = SATA
    bar   r10 = type I/O Port, range 32, base 0xc480, size  8, enabled
    bar   r14 = type I/O Port, range 32, base 0xc400, size  4, enabled
    bar   r18 = type I/O Port, range 32, base 0xcc00, size  8, enabled
    bar   [1c] = type I/O Port, range 32, base 0xc880, size  4, enabled
    bar   r20 = type I/O Port, range 32, base 0xc800, size 16, enabled
    bar   r24 = type Memory, range 32, base 0xfe8ef800, size 2048, enabled
    cap 01r40 = powerspec 3  supports D0 D3  current D0
    cap 05r50 = MSI supports 1 message enabled with 1 message
    cap 10r70 = PCI-Express 2 legacy endpoint max data 128(512) link x1(x1)
ecap 0001r100 = AER 1 0 fatal 0 non-fatal 2 corrected
atapci0@pci0:1:0:1:     class=0x01018f card=0x91a41b4b chip=0x91a41b4b rev=0x11 hdr=0x00
    class      = mass storage
    subclass   = ATA
    bar   r10 = type I/O Port, range 32, base 0xb880, size  8, enabled
    bar   r14 = type I/O Port, range 32, base 0xb800, size  4, enabled
    bar   r18 = type I/O Port, range 32, base 0xc080, size  8, enabled
    bar   [1c] = type I/O Port, range 32, base 0xc000, size  4, enabled
    bar   r20 = type I/O Port, range 32, base 0xbc00, size 16, enabled
    bar   r24 = type Memory, range 32, base 0xfe8cfc00, size 16, enabled
    cap 01r40 = powerspec 3  supports D0 D3  current D0
    cap 05r50 = MSI supports 1 message 
    cap 10r70 = PCI-Express 2 legacy endpoint max data 128(512) link x1(x1)
ecap 0001r100 = AER 1 0 fatal 0 non-fatal 2 corrected
em0@pci0:2:0:0: class=0x020000 card=0x10d315d9 chip=0x10d38086 rev=0x00 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Intel 82574L Gigabit Ethernet Controller (82574L)'
    class      = network
    subclass   = ethernet
    bar   r10 = type Memory, range 32, base 0xfe9e0000, size 131072, enabled
    bar   r18 = type I/O Port, range 32, base 0xdc00, size 32, enabled
    bar   [1c] = type Memory, range 32, base 0xfe9dc000, size 16384, enabled
    cap 01[c8] = powerspec 2  supports D0 D3  current D0
    cap 05[d0] = MSI supports 1 message, 64 bit 
    cap 10[e0] = PCI-Express 1 endpoint max data 128(256) link x1(x1)
    cap 11[a0] = MSI-X supports 5 messages in map 0x1c enabled
ecap 0001r100 = AER 1 0 fatal 0 non-fatal 3 corrected
ecap 0003r140 = Serial 1 002590ffff382e1e
em1@pci0:3:0:0: class=0x020000 card=0x10d315d9 chip=0x10d38086 rev=0x00 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Intel 82574L Gigabit Ethernet Controller (82574L)'
    class      = network
    subclass   = ethernet
    bar   r10 = type Memory, range 32, base 0xfeae0000, size 131072, enabled
    bar   r18 = type I/O Port, range 32, base 0xec00, size 32, enabled
    bar   [1c] = type Memory, range 32, base 0xfeadc000, size 16384, enabled
    cap 01[c8] = powerspec 2  supports D0 D3  current D0
    cap 05[d0] = MSI supports 1 message, 64 bit 
    cap 10[e0] = PCI-Express 1 endpoint max data 128(256) link x1(x1)
    cap 11[a0] = MSI-X supports 5 messages in map 0x1c enabled
ecap 0001r100 = AER 1 0 fatal 0 non-fatal 5 corrected
ecap 0003r140 = Serial 1 002590ffff382e1f
vgapci0@pci0:4:4:0:     class=0x030000 card=0x060a15d9 chip=0x0532102b rev=0x0a hdr=0x00
    vendor     = 'Matrox Electronic Systems Ltd.'
    class      = display
    subclass   = VGA
    bar   r10 = type Prefetchable Memory, range 32, base 0xfc000000, size 16777216, enabled
    bar   r14 = type Memory, range 32, base 0xfdffc000, size 16384, enabled
    bar   r18 = type Memory, range 32, base 0xfe000000, size 8388608, enabled
    cap 01[dc] = powerspec 1  supports D0 D3  current D0

# dmesg | grep ahci
ahci0: <Marvell 88SE912x AHCI SATA controller> port 0xc480-0xc487,0xc400-0xc403,0xcc00-0xcc07,0xc880-0xc883,0xc800-0xc80f mem 0xfe8ef800-0xfe8effff irq 16 at device 0.0 on pci1
ahci0: [ITHREAD]
ahci0: AHCI v1.20 with 8 6Gbps ports, Port Multiplier not supported
ahcich0: <AHCI channel> at channel 0 on ahci0
ahcich0: [ITHREAD]
ahcich1: <AHCI channel> at channel 1 on ahci0
ahcich1: [ITHREAD]
ahcich2: <AHCI channel> at channel 2 on ahci0
ahcich2: [ITHREAD]
ahcich3: <AHCI channel> at channel 3 on ahci0
ahcich3: [ITHREAD]
ahcich4: <AHCI channel> at channel 4 on ahci0
ahcich4: [ITHREAD]
ahcich5: <AHCI channel> at channel 5 on ahci0
ahcich5: [ITHREAD]
ahcich6: <AHCI channel> at channel 6 on ahci0
ahcich6: [ITHREAD]
ahcich7: <AHCI channel> at channel 7 on ahci0
ahcich7: [ITHREAD]
ahci1: <Intel ICH9 AHCI SATA controller> port 0x9480-0x9487,0xa000-0xa003,0x9c00-0x9c07,0x9880-0x9883,0x9800-0x981f mem 0xfebfb000-0xfebfb7ff irq 19 at device 31.2 on pci0
ahci1: [ITHREAD]
ahci1: AHCI v1.20 with 6 3Gbps ports, Port Multiplier not supported
ahcich8: <AHCI channel> at channel 0 on ahci1
ahcich8: [ITHREAD]
ahcich9: <AHCI channel> at channel 1 on ahci1
ahcich9: [ITHREAD]
ahcich10: <AHCI channel> at channel 2 on ahci1
ahcich10: [ITHREAD]
ahcich11: <AHCI channel> at channel 3 on ahci1
ahcich11: [ITHREAD]
ahcich12: <AHCI channel> at channel 4 on ahci1
ahcich12: [ITHREAD]
ahcich13: <AHCI channel> at channel 5 on ahci1
ahcich13: [ITHREAD]
ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
ada1 at ahcich8 bus 0 scbus8 target 0 lun 0
ada2 at ahcich9 bus 0 scbus9 target 0 lun 0
ada3 at ahcich10 bus 0 scbus10 target 0 lun 0
ada4 at ahcich11 bus 0 scbus11 target 0 lun 0
ada5 at ahcich12 bus 0 scbus12 target 0 lun 0
ada6 at ahcich13 bus 0 scbus13 target 0 lun 0
pass1 at ahcich7 bus 0 scbus7 target 0 lun 0

#2 Updated by TECK - over 8 years ago

I'm pretty sure the line is there, but I don't know from where to download the [[FreeNAS]] source code to check it myself. So I'm posting this here:

sys/dev/ahci/ahci.c

        {0x91251b4b, 0x00, "Marvell 88SE9125",  AHCI_Q_NOBSYRES},               
+       {0x91281b4b, 0x00, "Marvell 88SE9128",  AHCI_Q_NOBSYRES|AHCI_Q_ALTSIG}, 

#3 Updated by Alexander Motin over 8 years ago

What makes you think that in your case it works as SATA1 and that you have a problem?

pass1 device seen on your controller.jpg screenshot is a virtual control device of the Marvell chip's RAID firmware. It's speed means absolutely nothing. Same time link speed of the disk(s) attached to the controller (that should mean) is not present on screenshot.

Looks like you have not Rocket 620, but [[RocketRAID]] 620. It can be used as HBA, but somewhat slower then non-RAID version on my tests. Rocket 620 I have reports only two AHCI channels and has no that control device.

#4 Updated by TECK - over 8 years ago

Hi mav,

Thanks for the reply. This is the initializing screen for the Rocket 620, showing my 6GB SSD drive as being connected. I purchased the controller from [[NewEgg]], the box shows as being a Rocket 620. This is the physical information printed on the card and this is how is installed. I checked with other retailers and they all have the same details printed on their boxes/physical cards. I'm sure I have a Rocket 620, you can see the differences between the 2 cards. Unless they changed something recently into product? Even if the retail box has printed the Rocket 620 info on it, I noticed is marked as Rocket 620A next to the serial number.

I presume this is the relevant hardware part:

ahci0@pci0:1:0:0:       class=0x010601 card=0x91231b4b chip=0x91231b4b rev=0x11 hdr=0x00
    class      = mass storage
    subclass   = SATA
    bar   r10 = type I/O Port, range 32, base 0xc480, size  8, enabled
    bar   r14 = type I/O Port, range 32, base 0xc400, size  4, enabled
    bar   r18 = type I/O Port, range 32, base 0xcc00, size  8, enabled
    bar   [1c] = type I/O Port, range 32, base 0xc880, size  4, enabled
    bar   r20 = type I/O Port, range 32, base 0xc800, size 16, enabled
    bar   r24 = type Memory, range 32, base 0xfe8ef800, size 2048, enabled
    cap 01r40 = powerspec 3  supports D0 D3  current D0
    cap 05r50 = MSI supports 1 message enabled with 1 message
    cap 10r70 = PCI-Express 2 legacy endpoint max data 128(512) link x1(x1)
ecap 0001r100 = AER 1 0 fatal 0 non-fatal 2 corrected
atapci0@pci0:1:0:1:     class=0x01018f card=0x91a41b4b chip=0x91a41b4b rev=0x11 hdr=0x00
    class      = mass storage
    subclass   = ATA
    bar   r10 = type I/O Port, range 32, base 0xb880, size  8, enabled
    bar   r14 = type I/O Port, range 32, base 0xb800, size  4, enabled
    bar   r18 = type I/O Port, range 32, base 0xc080, size  8, enabled
    bar   [1c] = type I/O Port, range 32, base 0xc000, size  4, enabled
    bar   r20 = type I/O Port, range 32, base 0xbc00, size 16, enabled
    bar   r24 = type Memory, range 32, base 0xfe8cfc00, size 16, enabled
    cap 01r40 = powerspec 3  supports D0 D3  current D0
    cap 05r50 = MSI supports 1 message 
    cap 10r70 = PCI-Express 2 legacy endpoint max data 128(512) link x1(x1)
ecap 0001r100 = AER 1 0 fatal 0 non-fatal 2 corrected

I'm a newbie so please forgive me if I'm wrong: This shows as a 9123 chipset, which is good I guess. I Google'ed a little and some people mentioned they had issues with the 9125 chipset.

#5 Updated by Alexander Motin over 8 years ago

Marvell, who produced this chip, doesn't provide much information about it. Rocket and [[RocketRAID]] 620 cards have same PCI IDs and same chip markings. Main difference is in chip firmware and card BIOS. As I have told, my Rocket card reports only two real AHCI SATA channels, has no configuration device and no BIOS setup. Your card reports 8 virtual channels including configuration device, mentions some virtual disks and BIOS setup during boot. That makes me think it is different from my Rocket. I can only guess how HPT labels their products. If this is really Rocket 620, then they sell two different products under the same name.

Nevertheless, whether it is Rocket or [[RocketRAID]], it should work. Could you describe your your real problem? If there is a problem.

#6 Updated by TECK - over 8 years ago

Well, your helpful replies solved all question marks I had. I was worried originally that I'm limited to a SATA1 connection (150MB/s) to my SSD drive. I'm going to open a ticket with Highpoint and ask them about the configuration device and BIOS setup. My goal is to have a card with 2 AHCI SATA channels (as advertised) and no extra fancy stuff that might affect the disks performance.

Can you please let me know what were the speed differences in your tests, between Rocket and [[RocketRaid]] 620? Personally, I don't know how to test the card on a [[FreeBSD]] environment so I test it under Windows. It outputted around 400MB/sec reads.

#7 Updated by Alexander Motin over 8 years ago

It depends. I've seen huge performance difference in setup with port multipliers used. Rocket version gave me about full 250MB/s from 5 drives on one port via SATA2 multiplier. [[RocketRAID]] in same setup gave twice less. Same time for your case of direct disk connection difference was minimal.

#8 Updated by Anonymous over 8 years ago

Replying to [comment:6 TECK]:

Well, your helpful replies solved all question marks I had. I was worried originally that I'm limited to a SATA1 connection (150MB/s) to my SSD drive. I'm going to open a ticket with Highpoint and ask them about the configuration device and BIOS setup. My goal is to have a card with 2 AHCI SATA channels (as advertised) and no extra fancy stuff that might affect the disks performance.

Can you please let me know what were the speed differences in your tests, between Rocket and [[RocketRaid]] 620? Personally, I don't know how to test the card on a [[FreeBSD]] environment so I test it under Windows. It outputted around 400MB/sec reads.

1. Look at the datasheet to see what the drive supports speedwise, theoretically. Then subtract 10% or 15% performance to be pessimistic about what you might be able to achieve.
2. Run dd with a large block size (10m) so it blows out the cache. Note the numbers you achieve when running the tests (CTRL-T works, or just interrupting after a few seconds by hitting CTRL-C as well).
3. If your drive is severely underperforming, check your cabling to ensure that it's correct (SATA-I -> 150MBit, SATA-II -> 300MBit, SATA-III -> 600MBit).
4. Do all this testing under single user mode, not multiuser mode, to avoid jitter/noise in your results.
5. Run multiple times and compile statistics with ministat if you want.

YMMV depending on the amount of RAM, some tuning parameters in [[FreeBSD]], as well as the processor speed and cores you have installed in your machine.

#9 Updated by TECK - over 8 years ago

Replying to [comment:7 mav]:

It depends. I've seen huge performance difference in setup with port multipliers used. Rocket version gave me about full 250MB/s from 5 drives on one port via SATA2 multiplier. [[RocketRAID]] in same setup gave twice less. Same time for your case of direct disk connection difference was minimal.

I think I know why we see all these new devices, it is related to the new firmware that enables some "hidden" card features not originally released with Rocket 620. For example, the software RAID0 and 1. I'm awaiting a reply from [[HighPoint]], related to that.

From their instructions manual (see page 5), they display instructions for 1.0.0.1003 BIOS version which matches your description how the controller works (2 AHCI channels). However, when I hit CTRL+M in my box the BIOS version shows as being 1.0.0.1012 and the firmware as 2.1.0.1404, which might explain the new "features".

#10 Updated by TECK - over 8 years ago

Replying to [comment:8 gcooper]:

2. Run dd with a large block size (10m) so it blows out the cache. Note the numbers you achieve when running the tests (CTRL-T works, or just interrupting after a few seconds by hitting CTRL-C as well).

Can you please let me know what command I should run at the prompt, so I see the real SSD performance in my box? If I run diskinfo on the SSD, I get these stats:

# diskinfo -t ada0
ada0
        512             # sectorsize
        64023257088     # mediasize in bytes (60G)
        125045424       # mediasize in sectors
        0               # stripesize
        0               # stripeoffset
        124053          # Cylinders according to firmware.
        16              # Heads according to firmware.
        63              # Sectors according to firmware.
        000000001143031CF182    # Disk ident.

Seek times:
        Full stroke:      250 iter in   0.066719 sec =    0.267 msec
        Half stroke:      250 iter in   0.066056 sec =    0.264 msec
        Quarter stroke:   500 iter in   0.128125 sec =    0.256 msec
        Short forward:    400 iter in   0.103965 sec =    0.260 msec
        Short backward:   400 iter in   0.106043 sec =    0.265 msec
        Seq outer:       2048 iter in   0.280771 sec =    0.137 msec
        Seq inner:       2048 iter in   0.282176 sec =    0.138 msec
Transfer rates:
        outside:       102400 kbytes in   0.634752 sec =   161323 kbytes/sec
        middle:        102400 kbytes in   0.630374 sec =   162443 kbytes/sec
        inside:        102400 kbytes in   0.629669 sec =   162625 kbytes/sec

That yields about 160MB/sec, which is terrible. A regular disk is even worse, at 125MB/sec:

# diskinfo -t ada1
ada1
        512             # sectorsize
        2000398934016   # mediasize in bytes (1.8T)
        3907029168      # mediasize in sectors
        0               # stripesize
        0               # stripeoffset
        3876021         # Cylinders according to firmware.
        16              # Heads according to firmware.
        63              # Sectors according to firmware.
        WD-WCAZA64484653 # Disk ident.

Seek times:
        Full stroke:      250 iter in   7.206241 sec =   28.825 msec
        Half stroke:      250 iter in   5.965297 sec =   23.861 msec
        Quarter stroke:   500 iter in   7.769207 sec =   15.538 msec
        Short forward:    400 iter in   3.153034 sec =    7.883 msec
        Short backward:   400 iter in   1.680192 sec =    4.200 msec
        Seq outer:       2048 iter in   0.320098 sec =    0.156 msec
        Seq inner:       2048 iter in   0.282279 sec =    0.138 msec
Transfer rates:
        outside:       102400 kbytes in   0.815190 sec =   125615 kbytes/sec
        middle:        102400 kbytes in   1.029841 sec =    99433 kbytes/sec
        inside:        102400 kbytes in   1.789719 sec =    57216 kbytes/sec

Coming from a [[CentOS]] environment, I don't have a lot of experience with [[FreeBSD]]. It has to be something that we can tweak, in order to improve the disks performance.

# uname -mrs
[[FreeBSD]] 8.2-RELEASE-p3 amd64

# sysctl -a | grep mem
kern.geom.stripe.maxmem: 13107200
vm.kmem_map_free: 2396057600
vm.kmem_map_size: 4901253120
vm.kmem_size_scale: 1
vm.kmem_size_max: 329853485875
vm.kmem_size_min: 0
vm.kmem_size: 8290791424
vfs.ufs.dirhash_lowmemcount: 0
vfs.ufs.dirhash_mem: 62413
vfs.ufs.dirhash_maxmem: 2097152
debug.fwmem_debug: 0
hw.physmem: 8574758912
hw.usermem: 3304865792
hw.realmem: 9663676416
hw.firewire.fwmem.speed: 2
hw.firewire.fwmem.eui64_lo: 0
hw.firewire.fwmem.eui64_hi: 0
hw.pci.host_mem_start: 2147483648
p1003_1b.memlock: 0
p1003_1b.memlock_range: 0
p1003_1b.memory_protection: 0
p1003_1b.shared_memory_objects: 1
compat.ia32.maxvmem: 0
kstat.zfs.misc.arcstats.l2_abort_lowmem: 0
kstat.zfs.misc.arcstats.memory_throttle_count: 0

# swapinfo -k
Device          1K-blocks     Used    Avail Capacity
/dev/ada1p1       2097152        0  2097152     0%
/dev/ada2p1       2097152        0  2097152     0%
/dev/ada3p1       2097152        0  2097152     0%
/dev/ada4p1       2097152        0  2097152     0%
/dev/ada5p1       2097152        0  2097152     0%
/dev/ada6p1       2097152        0  2097152     0%
Total            12582912        0 12582912     0%

# dmesg | grep CPU
CPU: Intel(R) Atom(TM) CPU D525   @ 1.80GHz (1807.21-MHz K8-class CPU)
[[FreeBSD]]/SMP: Multiprocessor System Detected: 4 CPUs
cpu0: <ACPI CPU> on acpi0
cpu1: <ACPI CPU> on acpi0
cpu2: <ACPI CPU> on acpi0
cpu3: <ACPI CPU> on acpi0
coretemp0: <CPU On-Die Thermal Sensors> on cpu0
coretemp0: Can not get Tj(target) from your CPU, using 100C.
p4tcc0: <CPU Frequency Thermal Control> on cpu0
coretemp1: <CPU On-Die Thermal Sensors> on cpu1
coretemp1: Can not get Tj(target) from your CPU, using 100C.
p4tcc1: <CPU Frequency Thermal Control> on cpu1
coretemp2: <CPU On-Die Thermal Sensors> on cpu2
coretemp2: Can not get Tj(target) from your CPU, using 100C.
p4tcc2: <CPU Frequency Thermal Control> on cpu2
coretemp3: <CPU On-Die Thermal Sensors> on cpu3
coretemp3: Can not get Tj(target) from your CPU, using 100C.
p4tcc3: <CPU Frequency Thermal Control> on cpu3
SMP: AP CPU #1 Launched!
SMP: AP CPU #3 Launched!
SMP: AP CPU #2 Launched!

# dmesg | grep memory
real memory  = 8589934592 (8192 MB)
avail memory = 8236822528 (7855 MB)

#11 Updated by TECK - over 8 years ago

Replying to [comment:5 mav]:

Marvell, who produced this chip, doesn't provide much information about it. Rocket and [[RocketRAID]] 620 cards have same PCI IDs and same chip markings. Main difference is in chip firmware and card BIOS. As I have told, my Rocket card reports only two real AHCI SATA channels, has no configuration device and no BIOS setup. Your card reports 8 virtual channels including configuration device, mentions some virtual disks and BIOS setup during boot. That makes me think it is different from my Rocket. I can only guess how HPT labels their products. If this is really Rocket 620, then they sell two different products under the same name.

OK, some updates. [[FreeBSD]]/FreeNAS reports 8 ports for the Rocket 620, as well the Koutech IO-PESA230 PCI Express Low Profile Ready SATA III. I believe both cards have the same chip. That is a lot of ports for something that has only 2. Could this be a bug or the wrong driver detected by the OS?

#12 Updated by Alexander Motin over 8 years ago

Replying to [comment:11 TECK]:

OK, some updates. [[FreeBSD]]/FreeNAS reports 8 ports for the Rocket 620, as well the Koutech IO-PESA230 PCI Express Low Profile Ready SATA III. I believe both cards have the same chip. That is a lot of ports for something that has only 2. Could this be a bug or the wrong driver detected by the OS?

No, it couldn't. That is exactly what this chip exposes via AHCI interfaces. It is too much for for a bug to not just detect extra ports, but to have them working. :)

#13 Updated by TECK - over 8 years ago

Replying to [comment:12 mav]:

No, it couldn't. That is exactly what this chip exposes via AHCI interfaces. It is too much for for a bug to not just detect extra ports, but to have them working. :)

Thanks Mav. So that means [[HighPoint]] changed the product line for the Rocket 620, compared to what you initially tested? My SSD drive is properly detected but as mentioned earlier, there is a strange "pass1" detected at 150MB/sec:

ada0: 600.000MB/s transfers (SATA 3.x, UDMA5, PIO 8192bytes)
ada0: Command Queueing enabled
ada0: 61057MB (125045424 512 byte sectors: 16H 63S/T 16383C)

pass1 at ahcich7 bus 0 scbus7 target 0 lun 0
pass1: <Marvell 91xx Config 1.01> Removable Processor SCSI-0 device 
pass1: 150.000MB/s transfers (SATA 1.x, UDMA4, ATAPI 12bytes, PIO 8192bytes)

What does that pass1 do?

#14 Updated by William Grzybowski over 7 years ago

pass1 is the ahci channel, camcontrol devlist should show the association between passX and adaX.

Is there a real issue here or can this be closed?

#15 Updated by Jordan Hubbard over 6 years ago

  • Status changed from Unscreened to Closed
  • Seen in set to

Closing as ??.

Also available in: Atom PDF