OS/2, eCS & ArcaOS - Technical > Hardware
PCIe - SATA3 card choices?
Dariusz Piatkowski:
Hey Pete,
--- Quote from: Pete on April 06, 2020, 08:49:13 pm ---...Which build of os2ahci.add are you using? - the "port #3 interrupt error status: 0x40000001; restarting port" is indicative of the flaky v2.03 driver supplied with ArcaOS5.0.1/5.0.2...
Pete
--- End quote ---
2.07 from the AOS d/l section.
Doug Bissett:
--- Quote ---Which build of os2ahci.add are you using? - the "port #3 interrupt error status: 0x40000001; restarting port" is indicative of the flaky v2.03 driver supplied with ArcaOS5.0.1/5.0.2.
--- End quote ---
The latest available (with Arca Noae subscription) is v2.07. The "port #3 interrupt error status: 0x40000001; restarting port" is not an indication of a flaky driver. It is an indication of cheap hardware, that takes it's time initializing. Ignore that. It only happens at boot time.
--- Quote ---So at first I figured OK, 1 = SATA1, 2 = SATA2 and 3 = SATA3, although given where the standard is today I'm not quite sure how to interpret 0 =...???
--- End quote ---
0 is exactly what it says "fastest" that the hardware is capable of. If your machine supports SATA2, that is probably as fast as it will go. You would only use the other numbers if you have a flaky disk, or a flaky controller. Remember that this is the speed that data flows between the controller, and the device. The device should have a cache, so that is where the data goes, waiting for the hardware to put it to the "disk". An SSD introduces a bunch of variables, that can affect device speed especially when writing (search for the SSD Wiki). Reading is a whole different thing. I don't know if the disk cache is actually used for read.
Os2ahci has two parameters, that I use. One is /n (NCQ), which is useful when the drive needs to move heads to get to data. I don't have a SSD, but I would expect that this setting would not be appropriate for an SSD. The other is /f which enables the device cache (with a whole bunch of words around it). I would think that you would want to use /f. You may want to set these for individual drives, if you have spinning disks, as well as the SSD.
Also, remember that the software cache can affect measurements.
Dariusz Piatkowski:
Hey Doug!
--- Quote from: Doug Bissett on April 06, 2020, 11:01:17 pm ---The latest available (with Arca Noae subscription) is v2.07. The "port #3 interrupt error status: 0x40000001; restarting port" is not an indication of a flaky driver. It is an indication of cheap hardware, that takes it's time initializing. Ignore that. It only happens at boot time.
--- End quote ---
When I had the DVD drive hooked up to the AHCI port I saw these messages getting posted to the log. In other words, executing multiple 'copy os2ahci$ ahci.log' caused new warnings to show up. Anyways, as I stated earlier on in this thread the issue is resolved by moving the DVD off of the AHCI port.
--- Quote from: Doug Bissett on April 06, 2020, 11:01:17 pm ---
--- Quote ---So at first I figured OK, 1 = SATA1, 2 = SATA2 and 3 = SATA3, although given where the standard is today I'm not quite sure how to interpret 0 =...???
--- End quote ---
0 is exactly what it says "fastest" that the hardware is capable of. If your machine supports SATA2, that is probably as fast as it will go...An SSD introduces a bunch of variables, that can affect device speed especially when writing (search for the SSD Wiki)...
--- End quote ---
So as I previously posted, the problem I have here is that the AHCI controller results are poorer than the comparable IDE results. That appears to be at least partially driven by different optimization/settings the AHCI driver settles on. In this case the default '0 = maximum' setting is clearly slower than the matching DANIS506 settings on that very same device. Which means that the device/bus interface itself is capable of higher throughput BUT with AHCI drivers it is unable to achieve this result.
--- Quote from: Doug Bissett on April 06, 2020, 11:01:17 pm ---...Os2ahci has two parameters, that I use. One is /n (NCQ), which is useful when the drive needs to move heads to get to data. I don't have a SSD, but I would expect that this setting would not be appropriate for an SSD...
--- End quote ---
I do in fact use that on my SSD, the reason being that with SSDs in particular this allows the SSD controller to figure out the best command distribution for the various read/write requests. Without the NCQ being enabled this is strictly driven by the sequential nature of the commands being passed to the SSD from the OS, and in that case our poor ol' OS knows nothing about SSD capabilities.
Doug Bissett:
--- Quote ---So as I previously posted, the problem I have here is that the AHCI controller results are poorer than the comparable IDE results. That appears to be at least partially driven by different optimization/settings the AHCI driver settles on. In this case the default '0 = maximum' setting is clearly slower than the matching DANIS506 settings on that very same device. Which means that the device/bus interface itself is capable of higher throughput BUT with AHCI drivers it is unable to achieve this result.
--- End quote ---
You may have an AHCI controller, that is going south (or isn't SSD friendly). If IDE is better, use it.
Dariusz Piatkowski:
Folks!
A quick follow-up on my part regarding this. So I took some time to spot a reasonably priced SATA3 PCI-E add-on card, less than $10. Took a while longer to actully receive it, yup all the way from China..lol.
Anyways, the point is it runs the HighPoint Rocket 620 firmware and it is a Marvell chipset (PCI ID 9125).
In order to get my OS/2 box to even boot I had to remove the following snoopers (nearly everything that was in the SNOOP.LST file):
ipsraid.snip
pcmci.snp
netdet2.snp
parallel.snp
mouse.snp
serial.snp
pcibus.snp
...but at least that got me to a booting OS/2 box where the main drive (boot drive only) was hooked up to that SATA3 card.
So what are the results????
Well, here is a quick BEFORE & AFTER:
1) BEFORE, this is the SATA2 controller on my motherboard
--- Code: ---Hard disk 2: 255 sides, 30401 cylinders, 63 sectors per track = 238472 MB
Drive cache/bus transfer rate: 119363 k/sec
Data transfer rate on cylinder 0 : -208938 k/sec
Data transfer rate on cylinder 30399: 198222 k/sec
CPU usage by full speed disk transfers: 22%
Average data access time: Disk read error.
Multithreaded disk I/O (4 threads): 113654 k/sec, 28% CPU usage
--- End code ---
2) AFTER, this is the SATA3 controller on the adapter card
--- Code: ---Hard disk 4: 255 sides, 30401 cylinders, 63 sectors per track = 238472 MB
Drive cache/bus transfer rate: 117574 k/sec
Data transfer rate on cylinder 0 : 171576 k/sec
Data transfer rate on cylinder 30399: 167781 k/sec
CPU usage by full speed disk transfers: 3%
Average data access time: Disk read error.
Multithreaded disk I/O (4 threads): 107815 k/sec, 3% CPU usage
--- End code ---
So certainly on this hardware alone the built-in stuff is better, even with the 28% CPU utilization on the Multithreaded test (plenty of CPU power here).
OK, that's all, just wanted to give everyone else some real concrete BEFORE & AFTER metrics.
Cheers al!
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version