Published / Modified
- 2026-02-20
- 2026-03-14
Categories
Tags
Related Articles
Improve Storage Performance
Last time, when I added a dedicated harddrive controller to my Power Mac G4 (PCI Graphics), I resolved stability issues – which had plagued the system since I got it – but mass storage still lacked what I considered reasonable performance. I decided to finally do something about it.
What is going on?
With its theoretical transfer speed of up to 133 MB/s the Acard AEC-6280M, an Ultra ATA/133 (ATA-7) controller, is a pretty fast Parallel ATA (PATA) controller card. With a maximum of around 25 MB/s, however, my earlier benchmark results suggested it instead operated within the range of the much slower Ultra ATA/33 (ATA-4) standard — similar to the expected performance of the UDMA controller on the Mac's logic board (which I could not test since it was and is broken on this machine).
So let's see which upper limit we can expect: A system's performance usually is dictated by its processor, memory and – most importantly – data bus. With Direct Memory Access (DMA) in the aformentioned Ultra-DMA, the processor is not the showstopper in this scenario. And PC100 memory's throughput of up to 800 MB/s is a pretty high ceiling. The transfer speed of a 32-bit PCI bus operating at 33.33 MHz – which it does in this Power Mac G4 (PCI Graphics) for all expansion cards except the graphics card – is expected to also max out at approximately 133 MiB/s. Naturally this bandwidth is shared among all devices on the PCI bus therefore a realistic sustained transfer rate of a single device is significantly lower. Peek transfer speeds up to approximately 100 MB/s should indeed be realistic with this computer system.
| Standard | a.k.a. | Max. Speed | Comment |
|---|---|---|---|
| ATA-1 | ATA, IDE | 8.3 MB/s | |
| ATA-2 | EIDE, Fast IDE/ATA, Ultra ATA | 16.6 MB/s | |
| ATA-3 | EIDE | 16.6 MB/s | |
| ATA-4 | Ultra ATA/33, UDMA/33 | 33 MB/s | Where we are |
| ATA-5 | Ultra ATA/66, UDMA/66 | 66 MB/s | |
| ATA-6 | Ultra ATA/00, UDMA/100 | 100 MB/s | Where we should be |
| ATA-7 | Ultra ATA/133, UDMA/133 | 133 MB/s | |
| SATA I | SATA 1.5 Gbits/s | 150 MB/s | |
| SATA II | SATA 3 Gbits/s | 300 MB/s | |
| SATA III | SATA 6 Gbits/s | 600 MB/s |
How can we go faster? The natural choice is the successor to Parallel ATA – Serial ATA (SATA). And there are three major reasons why this makes sense: First, it is easy to source modern hard drives because it has been the go-to mass storage solution for more than two decades and still is mainstream. Second, it is better and faster than PATA. And third, because SSDs.
New Hardware
This little upgrade project evolved around a PCI-to-SATA expansion card – the Kalea-Informatique 2-port SATA II PCI RAID Controller Card on which a well known controller, a Silicon Image Sil3112, not only does the heavy lifting but also can operate either as a SATA RAID controller ("SATARaid") or appear like a two channel PATA controller ("SATALink") to the computer. The latter mode allows us to boot up a PATA-compatible system from a SATA drive.
I decided to try two different SATA drives, a Seagate ST9160310AS (2.5-inch HDD, SATA II, 160 GB) and a SanDisk SDSSDA120G (2.5-inch SSD, SATA III, 120 GB). Seagate advertises an average speed of 54.7 MB/s for their product while SanDisk specifies 530 MB/s (read) and 400 MB/s (write) for their SSD.
Testing SATA drives on the Acard AEC-6280M was possible thanks to a bidirectional PATA-SATA converter (CSL Serial-ATA IDE Konverter, bidirektional) which bridged communication between PATA controller and SATA drive.
Old Firmware
The SATA controller card shiped with x86-compatible firmware. This means that while you can use this card to add SATA storage to other PCI-based computer systems, you cannot boot an operating system from attached storage on machines other than x86-based computers.
There once was, however, a company which had PCI-to-SATA expansion cards for Apple Macintosh computers in their portfolio, which were designed around Silicon Image controller chips, namely the Sil3112 and Sil3114. And the PowerPC architecture was their focus. This company, WiebeTech, is part of CRU Data Security Group, LLC today.
Bootable ROMs
WiebeTech's SATA expansion cards featured a firmware which appears to be compatible with most Sil3112-based cards from other manufacturers. ROM files you can find online seem to contain a Mac OS X driver and are revision 1.0 form June 2006 or shortly after. This firmware has no Classic Mac OS support. There exist two ROM variants: a 128K ROM (the original ROM by WiebeTech) and a 64K ROM (a shrunken variation of the ROM made to fit within a 64K chip).
These files contain some clues about the origin of the code contained:
SiI 3112A SATARaid; SiI 3112A SATALink; BIOS Version 4.2.47; Copyright (C) 1997-2004 Silicon Image, Inc.; 01-29-2004 driver,AAPL,MacOSX,PowerPC; copyright: Copyright (c) 2006 WiebeTech, All rights reserved.; rom-revision: 1.0 ;date: 16 June 2006
Flashing
Since the go-to flashing tool is a DOS program a PCI-based PC was recommended. My trusty Pentium III system was perfect for the job. With UpdFlash 3.05 I flashed the 128K version of the BIOS onto my card. Later versions of UpdFlash, for example 3.36, have an extra menu option for retrieving version information from an installed BIOS. This fails when WiebeTech's firmware is present, however.
Benchmark
Both drives held two volumes each – of which the first smaller one was home to the operating system (Mac OS X Server 10.4.11) and the larger and mostly empty second volume I used for measuring speeds with QuickBench 4.0 (from 2007, by Intech Software Corp.). These volumes held Mac OS Extended (HFS+) filesystems. Whenever a drive was benchmarked the Power Mac G4 was started up from this drive. It made sense to also benchmark the SSD-on-PATA combo.
SATA drives attached to this SATA controller were not visible to Mac OS 8.5 or Mac OS 9, as information on the web had hinted to. With the installed Mac OS X those drives were visible and – given Mac OS X was installed on them, could be selected as Startup Drive. Also pressing the X key on early startup did convince the Power Mac to boot Mac OS X from a SATA drive. We saw a significant perfomance increase: the fastest setup shown above was almost 3.5 times faster than the ones benchmarked in the previous article about this Power Mac G4. It was reassuring to see that the PATA controller could compete with the newer SATA controller (modern drives provided). More in-depth infomration about the performance measured can be found below.
What have we learned?
That SSDs are fast – who would have thought! They truly dominate whenever large block transfers are on the menu. But also that there is not much of a difference between ATA-7, Ultra ATA/133 (133 MB/s) and SATA I, 1.5 Gbits/s (150 MB/s), given drives are speedy enough. This is why it was satisfying to see the Acard AEC-6280M almost catch up with Kalea-Informatique'a SATA controller. Especially since the added PATA-SATA converter widened the gap between both controller cards artificially.
The SATA HDD's speed came close to the average speed promised by Seagate's marketing materials: at least if you prioritise reading. The SSD's transfers on the othe hand came close to 90 MB/S and I assume the PCI bus' bandwidth was more or less saturated at this point. Read and write speeds specified for the SSD by SandDisk were out of our reach, as alreday mentioned. Writing to the solid state disk through the PATA controller was – in most cases – faster than what could be achieved with the SATA card, which seemed counterintuitive and I still do not have a conclusive explanation for this phenomena.
The computer system itself does not allow us to benefit from the entire speed a solid state drive has to offer, unfortunately. But this does not come as a surprise since the measured maxima are close to the initial calculations – and it boils down to one interesting conclusion: SATA I or even ATA-6 HDDs effectively are the most cost-efficient storage upgrades for this Power Mac. And if you would like to boot classic Mac OS as well as OS X from them, then the Acard AEC-6280M is a very good option.
But there was more to gain than plain benchmark results and faster storage: combining SATA and a Power Mac from 1999 seemed insane at first but turned out to be surprisingly feasable. Thorough research was key: it meant diving into the history of mass storage interfaces and learning about innovation in general, clever niche solutions and that enthusiast communities are – as always – invaluable.
Appendix
ATA Transfer Modes
| Standard | Transfer Mode | Maximum Transfer Rate (MB/s) |
|---|---|---|
| ATA | PIO 0 | 3.3 |
| ATA | PIO 1 | 5.2 |
| ATA | PIO 2 | 8.3 |
| ATA | DMA Singleword 0 | 2.1 |
| ATA | DMA Singleword 1 | 4.2 |
| ATA | DMA Singleword 2 | 8.3 |
| ATA | DMA Multiword 0 | 4.2 |
| ATA-2 | PIO 3 | 11.1 |
| ATA-2 | PIO 4 | 16.7 |
| ATA-2 | DMA Multiword 1 | 13.3 |
| ATA-2 | DMA Multiword 2 | 16.7 |
| ATA-3 | Same as ATA-2 | Same as ATA-2 |
| ATA/ATAPI-4 | UDMA 0 | 16.7 |
| ATA/ATAPI-4 | UDMA 1 | 25.0 |
| ATA/ATAPI-4 | UDMA 2 (UDMA/33) | 33.3 |
| ATA/ATAPI-5 | UDMA 3 | 44.4 |
| ATA/ATAPI-5 | UDMA 4 (UDMA/66) | 66.7 |
| ATA/ATAPI-6 | UDMA 5 (UDMA/100) | 100.0 |
| ATA/ATAPI-7 | UDMA 6 (UDMA/133) | 133.0 |
While not faster than ATA-2, ATA-3 introduced S.M.A.R.T. and the Security Feature Set. To reduce crosstalk and lower impedance an 80-conductor cable is recommended for ATA-4, starting with ATA-4 UDMA 3 it is required.
Sources
- SATA Controller Card, PCI (Chipset Silicon Image SIL3112) – kalea-informatique.com
- Guide to flashing PC SIL3112 SATA cards for Mac – macrumors.com
- Flashing the Silicon Image Sil3112 to work in Macs (2025 Edition) – tinkerdifferent.com
- Flashing a SATA card for dummies? – 68kmla.org
- Mathey MSATA-13UMAC IDE/SATA card (VIA chipset) – 68kmla.org
- WiebeTech Website – archive.org
- Silicon Image SiI3112 – theretroweb.com
- Silicon Image Sil 311x – philscomputerlab.com
- Parallel ATA — wikipedia.org
- Serial ATA — wikipedia.org