VIA-Chipsätze bremsen PCI-Steckkarten aus

07.02.2002 von Christian Vilsbeck
Mainboards mit VIA-Chipsätzen liefern keine volle PCI-Performance. Betroffen von diesem Problem sind unter anderem die neuen PCI-Controller mit Ultra-ATA/133-Interface sowie schnelle SCSI-Systeme. VIA will mit einem Patch helfen.

Extra: For an English version, please click here.

Bereits im Dezember 2001 berichteten wir über die schwache PCI-Performance von VIA-Chipsätzen. Schnelle SCSI- oder Ultra-ATA/133-Karten können nicht ihre volle Leistung entfalten. Im Januar 2002 bot VIA dann kurzzeitig einen Patch an, der aber wenig überzeugte und nur für Promise-Karten Linderung schaffte. Seit dem 01.02. 2002 gibt es einen neuen PCI-Patch. Wir haben getestet, ob dieser Patch überzeugt und wie von VIA versprochen auch andere Steckkarten davon profitieren.

Offensichtlich wurde VIAs PCI-Problem erst mit den neuen schnellen Devices wie den Ultra-ATA/133-Festplatten. Maxtor hat Ende Juli 2001 mit Ultra-ATA/133 den Nachfolger des Ultra-ATA/100-Interfaces vorgestellt. Die maximale Schnittstellengeschwindigkeit erhöht sich mit Ultra-ATA/133 auf theoretische 133 MByte/s.

Um die volle Interface-Geschwindigkeit der Maxtor-Festplatten zu nutzen, bieten Firmen wie Promise, Highpoint oder ACARD Ultra-ATA/133-PCI-Controllerkarten an. Ultra-ATA/133 nutzt dabei die Bandbreite des PCI-Busses voll aus. Der 32 Bit breite Bus erlaubt wie Ultra-ATA/133 eine maximale Datentransferrate von 133 MByte/s. Diese Angabe arbeitet mit der Basis 1000 und gibt daher Millionen Bytes an, das korrekte theoretische Maximum beträgt 127,2 MByte/s.

Auch Ultra160-SCSI-PCI-Controller haben das Limit des PCI-Busses längst erreicht. Sie liegen mit internen theoretischen Transferraten von 160 MByte/s sogar darüber. Auch Ultra160-SCSI-Festplatten werden deshalb von Mainboards mit VIA-Chipsätzen deutlich gebremst. Probleme können auch bei Anwendungen wie Harddisk-Recording auftreten.

Bei unseren Tests der Burst-Geschwindigkeit überzeugen nur Mainboards mit Intel-, SiS- und ALi-Chipsätzen. Betroffen sind sowohl Platinen für Intel- als auch AMD-Prozessoren.

Befehls-Overhead

Bei unseren bisherigen Tests von Ultra-ATA/100-Festplatten wurden maximale Schnittstellengeschwindigkeiten von zirka 87 MByte/s erreicht. Bei den Burst-Tests transferiert die Festplatte ihre Daten aus dem schnellen Datenpuffer. Als Mainboard kommt hier ein Tyan Trinity mit VIA-MVP3-Chipsatz zum Einsatz.

Deutlich mehr ist von Ultra-ATA/100 auch gar nicht zu erwarten. Zum einen beträgt der theoretische Maximalwert nur 95,4 MByte/s, da die werbewirksame 100er Angabe mit Basis 1000 arbeitet und daher Millionen Byte angibt und nicht MByte auf Basis 1024. Zum anderen werden neben den Daten auch Befehle und Statusinformationen übertragen, die Bandbreite belegen.

Bei Ultra-ATA/133 hat sich die Zykluszeit von 40 ns (ATA/100) auf 30 ns verkürzt. Innerhalb dieser Zeit werden Daten mit der steigenden und fallenden Flanke übertragen. Das theoretische Maximum beträgt 127,2 MByte/s. Abzüglich des Befehls-Overheads sollten Ultra-ATA/133-Festplatten somit gut 100 MByte/s im Burst-Modus erreichen.

Die sequenziellen Datentransferraten aktueller IDE-Festplatten liegen dagegen bei etwas über 40 MByte/s und somit weit unterhalb von Ultra-ATA/100 und Ultra-ATA/133. Rechnet man hier den Befehls-Overhead dazu, dann kommen nur Ultra-ATA/66-Controller langsam an ihre Grenze.

Benchmarks: Burst-Modus

Für unsere Burst-Tests haben wir die Maxtor DiamondMax D540X und D740X jeweils mit dem Promise- und Highpoint-Controller getestet. Um die Kompatibilität zu überprüfen, führten wir vollständige Tests an neun Mainboards mit Chipsätzen von Intel und VIA sowie ALi und SiS durch. An weiteren Mainboards (beispielsweise mit VIA Apollo KT266A) haben wir zusätzlich Stichproben durchgeführt.

Auf den Mainboards mit den Intel-Chipsätzen i815, i820 und i845 lieferten die PCI-Controller die erwartete Leistung. Der Promise Ultra133 TX2 erlaubte bei den Maxtor-Drives Burst-Raten von 109 bis 117 MByte/s. Unter Berücksichtigung des Overheads sind diese Werte sehr gut. Highpoints RocketRAID 133 schafft noch befriedigende 95 bis 100 MByte/s. In Mainboards mit ALi- und SiS-Chipsatz waren äquivalente Burst-Raten zu messen.

Ultra-ATA/133 Burst-Datentransferraten

Mainboard-Chipsatz

Highpoint RocketRAID 133 mit Maxtor D540X

Highpoint RocketRAID 133 mit Maxtor D740X

Promise Ultra133 TX2 mit Maxtor D540X

Promise Ultra133 TX2 mit Maxtor D740X

ALi Alladin Pro5

95,0 MByte/s

95,9 MByte/s

96,3 MByte/s

96,1 MByte/s

Intel 815

96,0 MByte/s

97,6 MByte/s

113,0 MByte/s

115,2 MByte/s

Intel 820

94,9 MByte/s

95,4 MByte/s

108,9 MByte/s

114,9 MByte/s

Intel 845

97,6 MByte/s

100,5 MByte/s

114,5 MByte/s

117,4 MByte/s

SiS 645

94,2 MByte/s

96,7 MByte/s

107,1 MByte/s

108,0 MByte/s

VIA MVP3

74,1 MByte/s

76,6 MByte/s

63,8 MByte/s

63,5 MByte/s

VIA KT133A

76,1 MByte/s

77,5 MByte/s

78,4 MByte/s

78,2 MByte/s

VIA P4X266A mit VT8233

79,7 MByte/s

81,2 MByte/s

90,3 MByte/s

90,1 MByte/s

VIA P4X266A mit VT8233A

64,8 MByte/s

62,6 MByte/s

72,3 MByte/s

72,6 MByte/s

Werden die Controller dagegen auf Mainboads mit VIA-Chipsätzen betrieben, so bricht die Burst-Rate extrem ein. Der Promise Ultra133 TX2 ermöglicht jetzt nur noch Werte zwischen 64 MByte/s (VIA MVP3) und bestenfalls 90 MByte/s (VIA P4X266A mit VT8233 Southbridge). Der Highpoint-PCI-Controller zeigt hier ähnlich schlechte Ergebnisse. Selbst der auf dem Shuttle-Mainboard integrierte Highpoint HPT372-Ultra-ATA/133-Chip kann den Maxtor-Festplatten maximal 65 MByte/s im Burst-Modus entlocken. Das Mainboard ist mit VIAs P4X266A-Chipsatz (VT8322 Southbridge) ausgerüstet.

Bitte beachten Sie: Die gemessenen Burst-Raten sind unabhängig von der verwendeten CPU und deren Taktfrequenz. Selbst der schwächste verwendete Prozessor, ein AMD K6-2 400, erreicht eine weit höhere Datentransferrate als der Flaschenhals-PCI- oder IDE-Bus.

Ultra-ATA/100 Test

Zusätzlich haben wir die Maxtor-Festplatten noch mit einem Promise Ultra100-Controller in den Mainboards mit VIA-Chipsätzen betrieben. In diesem Fall arbeiten die Festplatten im theoretisch langsameren Ultra-ATA/100-Modus. Doch mit 73 bis 87 MByte/s erreichen die Festplatten in Mainboards mit VIA-Chipsets ohne V-Link (KT133A, MVP3) weit bessere Burst-Raten.

Umgekehrt zeigt auch eine Ultra-ATA/100-Festplatte ihre gewohnte Performance an den Ultra-ATA/133-PCI-Controllern. Für diesen Test verwenden wir eine IBM Deskstar 60GXP.

Hier zeigt sich, dass die VIA-Chipsets ohne V-Link grundsätzlich ein Problem mit dem ATA/133-Controller haben. Die neueren VIA-Chipsets mit V-Link-Verbindung zwischen North- und Southbridge sind mit dem ATA/133-Controller zumindest schneller unterwegs als mit dem ATA/100-Modell.

Burst-Datentransferraten IBM Deskstar 60GXP ATA/100

Mainboard-Chipsatz

Highpoint RocketRAID 133

Promise Ultra133 TX2

Promise Ultra100

Intel 815

78,1 MByte/s

89,9 MByte/s

86,4 MByte/s

VIA MVP3

78,5 MByte/s

68,9 MByte/s

87,1 MByte/s

VIA KT133A

83,4 MByte/s

79,1 MByte/s

84,9 MByte/s

VIA P4X266A

67,2 MByte/s

73,5 MByte/s

72,3 MByte/s

Im Ultra-ATA/100-Betrieb entsprechen mit ATA/100-Controller und -Laufwerk die Burst-Raten auch bei den Mainboards mit VIA-Chipsätzen den Erwartungen.

IDE-Timings

Um das Timing der Ultra-ATA/133-Schnittstelle zu überprüfen, haben wir unseren Logic-Analyzer Tektronix TLA704 an den Promise- und Highpoint-Controller angeschlossen. Trotz der schlechten Ergebnisse der Burst-Benchmarks sind die Zykluszeiten korrekt. Sowohl der Promise Ultra133 TX2 als auch Highpoints RocketRAID 133 übertragen die Daten mit 30 ns Zykluszeit. Bei Ultra-ATA/100 beträgt die Zykluszeit 40 ns.

Dass bei VIA-basierenden Mainboards aber trotzdem nur effektive 64 bis 90 MByte/s über die Schnittstelle möglich sind, liegt an den vielen Pausen während der Burst-Phasen. Normalerweise sollte eine eingeleitete Burst-Phase durchgehend und ohne ständige Unterbrechungen erfolgen. Im oberen Bild sehen Sie die Messung der Burst-Phase des Promise Ultra133 TX2 mit einem Intel-845-Mainboard. Der Burst-Zyklus wird hier korrekt durchgeführt. Die Länge der Bursts kann dabei je nach den zu übertragenden Daten variieren. Auf den VIA-Boards wird der Highspeed-Transfer aus dem Festplatten-Cache aber bereits nach wenigen µs unterbrochen und muss jeweils neu eingeleitet werden, wie das Bild unten zeigt. Dadurch sinkt die effektiv gemessene Burst-Rate auf Werte zwischen 64 und bestenfalls 90 MByte/s.

Im Gegensatz zu den Intel-, SiS- und ALi-Chipsätzen haben VIAs Chipsätze offenbar Probleme, Transferraten nahe der PCI-Grenze für längere Zeit ohne Unterbrechungen aufrecht zu erhalten. Der PCI-Bus erlaubt wie Ultra-ATA/133 eine maximale theoretische Datentransferrate von 127,2 MByte/s. Die Vermutung liegt nahe, dass der PCI-Bus von VIA die Ursache für die Probleme sein muss.

Für die Signal-Messungen mit dem Logic-Analyzer haben wir das VIA P4XB mit dem VIA P4X266A und VT8233 verwendet. Dieser VIA-Chipsatz erzielte bei unseren Ultra-ATA/133-Burst-Messungen noch die besten Ergebnisse aller getesteten VIA-Chipsets.

PCI-Timings ATA/133

Mit Hilfe einer PCI-Probe überprüften wir mit dem Logic-Analyzer zusätzlich den Busverkehr des PCI-Busses. Während der Datenverkehr auf VIA-basierenden Boards zerstückelt ist, zeigt die Messung auf einem Intel-845-Mainboard einen kontinuierlichen Datenfluss. Für die Messungen ließen wir eine Maxtor DiamondMax D740X mit dem Promise Ultra133 TX2 im Burst-Modus arbeiten.

Bei den VIA-Chipsätzen überträgt der PCI-Bus nach unseren Messungen nur 24 Datenpakete am Stück. Danach wird eine neue Zieladresse gefordert. Der 32 Bit breite PCI-Bus kann somit nur Blöcke von 96 Bytes in einem Burst-Zyklus verarbeiten.

Die Intel-Chipsätze können nach unseren Messungen dagegen bis zu 1024 Datenpakete im Burst-Modus über den PCI-Bus ohne Unterbrechungen transferieren. Dies entspricht einem Datenblock von 4096 Bytes. Erst dann ist eine neue Adresse gefordert. Dadurch erreichen die Intel-Chipsätze eine höhere PCI-Bus-Transferrate als die VIA-Chipsätze.

SCSI-RAID-Controller im PCI-Slot

Mit den Timing-Messungen lässt sich das schlechte Abschneiden der Ultra-ATA/133-PCI-Controller bei Mainboards mit VIA-Chipsätzen erklären. Die neuen Highspeed-Controller reizen die Bandbreite des PCI-Busses aus und VIAs PCI-Bus kommt nicht nach.

Dieser Effekt ist auch mit anderen PCI-Steckkarten nachvollziehbar. Zu diesem Zweck haben wir die PCI-Aktivitäten bei Einsatz von Adaptecs SCSI-RAID-2100S-Controller überprüft. Die Steckkarte beherrscht Ultra160-SCSI und kann somit den PCI-Bus voll ausreizen. Ultra160-SCSI bietet eine theoretische Bandbreite von 160 MByte/s und liegt somit über der PCI-Bus-Grenze.

Für einen Praxistest schließen wir vier Fujitsu MAM3184MP-Festplatten in einem auf Performance ausgelegten RAID-0-Verbund an. Die Fujitsu-Festplatten beherrschen ebenfalls Ultra160-SCSI und drehen mit 15.000 U/min. Mit einer sequenziellen Datentransferrate von 54 MByte/s zählt Fujitsus MAM-Serie zu den derzeit schnellsten verfügbaren Laufwerken.

Bei einem RAID-0 fasst der SCSI-Controller die angeschlossenen Festplatten zu einem logischen Laufwerk zusammen. Die Daten sind in aufeinander folgenden Blöcken gleichmäßig über alle Laufwerke verteilt. Durch dieses parallele Lesen respektive Schreiben auf mehreren Laufwerken steigert das RAID-0 die Durchsatzrate. In der Theorie addieren sich dabei die Datentransferraten der einzelnen Laufwerke. In der Praxis ist allerdings noch der Overhead durch das RAID-Management zu berücksichtigen. Ausführliche Informationen zum Thema RAID finden Sie hier.

Beim Adaptec SCSI-RAID-2100S lässt sich die Blockgröße des RAID-0 einstellen. Als Vorgabe sind 128 KByte gesetzt, minimal erlaubt er 8 KByte. Eine Datei, die beispielsweise 512 KByte groß ist, verteilt der Controller (bei eingestellten 128 KByte Blockgröße) in unserer Konfiguration somit auf alle vier Laufwerke. Der Zugriff beschleunigt sich erheblich, weil von jeder Platte gleichzeitig ein Dateisegment gelesen oder geschrieben wird.

Eine Geschwindigkeitssteigerung macht sich somit vor allem bei großen, zusammenhängenden Dateien deutlich bemerkbar. Hier kann RAID-0 parallel auf allen Platten operieren und dadurch die Transferrate vervielfachen. Beim Lesen oder Schreiben vieler kleiner Files ist die Zugriffszeit der Platten der limitierende Faktor. Hier erreicht das RAID-0 bestenfalls die Performance eines Einzellaufwerks.

SCSI-Benchmarks

Um bei unserem vierfach-SCSI-RAID-0 nicht die Leistung der einzelnen Festplatten zu messen, haben wir die Blockgröße bei den Lesezugriffen auf ein Vielfaches der RAID-0-Blockgröße von 128 KByte eingestellt. Unser Lowlevel-Benchmark tecHD kann die Zahl der am Stück zu lesenden Sektoren variieren. Dadurch ist sichergestellt, dass der Benchmark stets auf alle vier Fujitsu-Festplatten zugreift.

Durch die sequenziellen Datentransferraten von 54 MByte/s jeder einzelnen Fujitsu MAM3184MP wird auf dem Adaptec SCSI-RAID-2100S die Bandbreite von Ultra160-SCSI intern bereits voll ausgereizt. Um den Datenfluss von und zu den Platten aufrechtzuerhalten, besitzt der SCSI-Controller zusätzlich einen 32 MByte großen Cache.

Der RAID-Controller kann in unserer Konfiguration den PCI-Bus somit voll belasten. Die Benchmarks führen wir exemplarisch auf dem MSI 845 Pro2 mit i845-Chipsatz sowie dem VIA P4BX mit P4X266A-Chipsatz durch.

Datentransferraten RAID-0

Intel 845

VIA P4X266A

Alle Tests mit Adaptec SCSI-RAID-2100S und vier Fujitsu MAM3184MP als RAID-0

sequenzielle Leserate max.

113,6 MByte/s

72,9 MByte/s

sequenzielle Leserate mittel

110,9 MByte/s

72,3 MByte/s

sequenzielle Leserate min.

106,2 MByte/s

70,8 MByte/s

tecMark Lesen

23,6 MByte/s

21,0 MByte/s

tecMark Schreiben

32,7 MByte/s

24,0 MByte/s

tecMark Kopieren

31,4 MByte/s

25,7 MByte/s

Kopieren 2-GByte-Datei

101 Sekunden

133 Sekunden

Auf dem MSI-Mainboard mit i845 erreicht das RAID-0 eine sequenzielle Datentransferrate von 114 MByte/s. Diesen Wert kann das RAID fast über die komplette Kapazität aufrechterhalten: Die minimale Transferrate liegt bei 106 MByte/s. Die Burst-Messungen aus dem Cache des Controllers liegen auf dem gleichen hohen Niveau.

Dagegen sind die Ergebnisse auf dem VIA-Mainboard ernüchternd. Das RAID-System liefert jetzt nur noch maximal 72 MByte/s sequenzielle Datentransferrate. Dieser Wert wird zwar ebenfalls über die komplette Kapazität des Festplattenverbundes aufrecht erhalten, liegt aber weit unter dem Potenzial des RAIDs.

Die Auswirkungen zeigen sich auch bei normalen Lese-, Schreib- und Kopiervorgängen von Dateien. Unser Praxis-Benchmark tecMark verwendet eine Vielzahl von Dateien unterschiedlicher Größe. Wie Sie in der Tabelle sehen, liefert das RAID-System im MSI-Mainboard (Intel-845-Chipsatz) eine bis zu 36 Prozent höhere Performance.

Auch das Kopieren einer 2 GByte großen Datei innerhalb des RAID-0 ist auf dem Mainboard mit Intel-Chipsatz um über 30 Prozent schneller erledigt.

PCI-Timings SCSI

Mit dem Logic-Analyzer haben wir den PCI-Busverkehr bei Aktivität des SCSI-RAIDs überprüft. Die PCI-Timings zeigen eine Analogie zu unseren Messungen mit den Ultra-ATA/133-PCI-Controllern: Auf VIA-basierenden Mainboards ist der Datenverkehr zerstückelt, Boards mit Intel-Chipsatz halten den Datenfluss weitaus länger ohne Unterbrechung aufrecht.

Auf dem VIA P4XB mit P4X266A-Chipsatz messen wir auf dem PCI-Bus bei starker SCSI-Last ebenfalls nur 24 zusammenhängende Datenpakete. Danach wird der Bus freigegeben und erneut eine Zieladresse angelegt. Wie bei den Ultra-ATA/133-PCI-Controllern überträgt der 32 Bit breite VIA-PCI-Bus nur Blöcke von 96 Bytes in einem Burst.

Anders verhält es sich wieder, wenn der Adaptec SCSI-RAID-2100S in einem Mainboard mit Intel-Chipsatz eingebaut ist. Hier lässt der Chipsatz bis zu 1024 Datenpakete im Burst-Modus über den PCI-Bus ohne Unterbrechungen transferieren. Dies entspricht einem Datenblock von 4096 Bytes. Erst dann wird der Bus wieder freigegeben und eine neue Adresse gefordert.

Dadurch sind die effektiv höheren Datentransferraten des PCI-Busses auf Mainboards mit Intel-Chipsatz zu erklären.

Auch Stabilitätsprobleme

Die von uns gefundenen Probleme mit VIAs PCI-Implementation scheinen nach den Erfahrungen unserer Leser nicht nur für Performance-Einbußen, sondern auch für weitere Stabilitätsprobleme verantwortlich zu sein. Der Beleg dafür: In fast allen Fällen waren die Effekte nach der Installation des inoffiziellen PCI-Latency-Patch von George Breese verschwunden.

So berichtete ein Leser von ständigen Abstürzen seines PCs, der mit einem Elitegroup K7VZA (KT-133A-Chipsatz) bestückt war. Zusammen mit einer Soundblaster Live Player 5.1 von Creative Labs hängte sich das System bei längeren, kontinuierlichen Soundausgaben auf - gleich, ob MP3s per WinAMP, DVDs per PowerDVD oder Spiele wie Quake III liefen. Nach der Installation des Patches lief der Rechner dagegen stundenlang stabil.

Auch beim professionellen Arbeiten kann VIAs PCI kräftig stören, wie uns ein Musiker schrieb. Er benutzt in einem MSI K7T-266 Pro2 R/U (KT-266A-Chipsatz) die DSP-Karte Luna II von Creamware. Derartige Karten sind auch im Heimstudio Pflicht, da sie mit Musiksoftware wie Cubase und GigaSampler geringere Latenzen durch spezielle Treiber erreichen, und exzellente Wandler haben.

Wir haben uns den Effekt vor Ort angehört: Wird bei einer Standard-Installation über ein Keyboard auch nur eine Note gespielt, die der Rechner dann erzeugt und an die Soundkarte schickt, "verschluckt" sich der Ton, wenn die Note ausklingt. Das Instrument klingt zwar noch, wird aber dauernd von kleinen, deutlich hörbaren Aussetzern unterbrochen.

Dabei fließen ständig Daten vom Software-Sampler zur Soundkarte, die nur noch die Wandlung vornimmt - die Tonerzeugung übernimmt die CPU, so dass das Problem nicht der Software und der Karte anzulasten ist. Der Rechner war in diesem Zustand weder als Live-Instrument noch im Studio zu gebrauchen. Nach der Installation des inoffiziellen Latency-Patches spielte die Maschine auch 64 Noten gleichzeitig ohne Aussetzer.

Die beiden beschriebenen Fälle zeigen, dass VIAs PCI-Implementation viel mehr als ein Performance-Problem ist. Die Schwierigkeiten treten sowohl beim Spielen wie auch beim professionellen Einsatz eines Rechners auf.

Hilfe per PCI-Latency-Patch

Nicht VIA, sondern der Programmierer George Breese von Networking Resources aus New York hat einen Patch für VIA-Chipsätze entwickelt. Er hilft dem langsamen VIA-PCI-Bus zumindest etwas auf die Sprünge.

Die PCI-Latency gibt die Anzahl der Taktzyklen an, für die ein PCI-Busmaster-Device den Bus für sich beanspruchen darf, bevor er wieder freigegeben wird. Diese Mindestanzahl von Takten soll verhindern, dass die PCI-Performance durch zu häufiges Abbrechen der Burst-Phasen stark sinkt. Gleichzeitig verhindert der Latency-Timer aber auch die alleinige Inanspruchnahme des PCI-Busses von einem Device. Nach Ablauf der PCI-Latency während einer Burst-Phase kann jedes andere PCI-Device den Bus anfordern. Der Burst wird dann sofort abgebrochen.

Der PCI-Latency-Patch mit der Version 0.19 "optimiert" nun unter anderem die folgenden Einstellungen durch Setzen von Registern in der Northbridge:

Wir haben den Patch exemplarisch mit dem Promise Ultra133 TX2 und einigen Mainboards getestet. Nach Installieren des Patches konnten wir bei dem Ultra-ATA/133-PCI-Controller auch höhere Burst-Transferraten messen:

Burst-Transferraten

Chipsatz

ohne Latency-Patch

mit Latency-Patch

Messung mit Promise Ultra133 TX2 und Maxtor DiamondMax D740X

VIA MVP3

63,5 MByte/s

84,1 MByte/s

VIA KT133A

78,2 MByte/s

93,4 MByte/s

VIA P4X266A

90,1 MByte/s

100,9 MByte/s

Die Burst-Raten reichen zwar immer noch nicht an die Werte der Intel-Chipsätze heran, sind aber um bis zu 32 Prozent höher als ohne Patch.

Bitte beachten Sie: Es handelt sich hier um keinen offiziellen Patch. Die Verwendung des Patches erfolgt auf eigene Gefahr ist. Ob und inwiefern die Stabilität des PCI-Busses durch die längeren Burstzyklen beeinflusst wird, konnten wir bei unseren Tests nicht verifizieren. Abstürze oder Inkompatibilitäten konnten wir jedoch nicht feststellen. Auf Grund der massiven Modifikationen durch den Patch können wir dies jedoch nicht ausschließen.

Die Überprüfung des PCI-Timings mit dem Logic-Analyzer zeigt nun 32 Datenblöcke lange Burst-Phasen auf dem PCI-Bus. Erst dann wird der Bus wieder freigegeben. Ohne Patch erlaubte der VIA-Chipsatz nur 24 zusammenhängende Datenblöcke. Durch die längeren Burst-Phasen ist die höhere PCI-Performance erklärbar.

Von dem Latency-Patch können auch Audio-Anwendungen profitieren. In Praxisfällen verschwanden beispielweise nach der Installation des Patches Aussetzer beim Einsatz von Software-Samplern mit professionellen DSP-Karten. Zum Teil reichte vorher schon das Anspielen eines einzigen Tons, der beim Aushalten der Note immer wieder unterbrochen wurde. Diese Effekte verschwanden mit dem Patch. Sie sind Hinweise auf Unterbrechungen während der Datenübertragung auf dem PCI-Bus.

VIAs offizieller Patch 1.01

Seit Anfang Januar 2002 bietet VIA einen offiziellen Patch an.

Allerdings stellt VIA auf der Download-Site die Frage "Do you use a Promise RAID PCI card". Damit will der Hersteller wohl vom eigenen PCI-Problem ablenken. Der Promise-RAID-Performance-Patch ist laut VIA für alle Betriebssysteme geeignet und soll die Burst-Rate erhöhen. Was der Fix genau macht, verrät VIA allerdings nicht.

Immerhin zeigt der Patch mit der Version 1.01 bei den anvisierten Controllern von Promise tatsächlich Wirkung: Auf einem VIA-P4XB-Mainboard mit P4X266A-Chipsatz konnten wir eine Erhöhung der Burst-Rate von 90,1 auf 111,3 MByte/s messen. Hierzu verwendeten wir den Promise Ultra133 TX2. VIAs Promise-RAID-Performance-Patch funktioniert somit auch mit dem einfachen PCI-Controller, der keine RAID-Funktion bietet.

Mit unserem Logic-Analyzer haben wir das PCI-Timing vor und nach der Installation des VIA-Patches überprüft. Die Burst-Länge auf dem PCI-Bus erhöht sich von vormals 24 auf nun 120 zusammenhängende Datenblöcke. Erst dann wird der Bus wieder freigegeben. Damit lässt sich die deutliche Performance-Steigerung erklären. Zum Vergleich: Der PCI-Latency-Patch von George Breese erhöht die Burst-Länge nur auf 32 Datenblöcke.

Einschränkungen von VIAs Patch 1.01

Leider hilft VIAs Patch im Gegensatz zur Lösung von George Breese nur einer begrenzten Zielgruppe: Er funktioniert ausschließlich mit den Promise-Ultra-ATA-Controllern. Bei anderen PCI-Karten, wie dem HighPoint RocketRAID 133 oder dem ACARD AEC-6280, bleibt die PCI-Performance unverändert schwach.

Burst-Datentransferraten Ultra-ATA/133-Controller

Chipsatz

ACARD AEC-6280

Highpoint RocketRAID 133

Promise Ultra133 TX2

Alle Messungen mit Maxtor DiamondMax D740X

VIA KT266A ohne Patch

87,7 MByte/s

83,3 MByte/s

83,5 MByte/s

VIA KT266A mit Patch

87,7 MByte/s

83,7 MByte/s

104,2 MByte/s

VIA P4X266A ohne Patch

89,6 MByte/s

81,2 MByte/s

90,1 MByte/s

VIA P4X266A mit Patch

89,7 MByte/s

81,2 MByte/s

111,3 MByte/s

Zusätzlich gibt es noch eine weitere Einschränkung, die von VIA unerwähnt bleibt: Besserung bringt der Promise-RAID-Performance-Patch nur bei Chipsätzen mit V-Link. VIA verwendet die V-Link-Technologie seit dem Apollo Pro266. Der Highspeed-Bus V-Link erlaubt Datentransferraten von 254 MByte/s und verbindet North- und Southbridge. Ältere Chipsätze wie der KT133A oder MVP3 zeigen keine höheren Burst-Raten nach Installation des Patches. Bei diesen Chipsätzen ist die Southbridge noch als PCI-Device an die Northbridge angebunden.

Die Lösung, die VIA für die langsame PCI-Performance seiner Chipsätze bietet, bleibt somit wenigen vorbehalten. Zumindest lässt sich der Patch bei Bedarf bequem über die Systemsteuerung wieder vollständig entfernen.

Neu: VIAs offizieller Patch 1.04/1.05

Anfang Januar 2002 konnte VIA einen Patch anbieten, der zumindest bei Promise-Controllern eine "normale" Performance bot. Das "Promise-RAID-Performance-Patch" getaufte Tool mit der Version 1.01 verschwand aber nach zirka zwei Wochen wieder von VIAs Support-Site VIA ARENA. Der Nutzwert des Patches war eingeschränkt, ausschließlich Ultra-ATA/133-PCI-Karten von Promise profitierten, und nur in Verbindung mit VIA-Chipsätzen, die mit dem V-Link-Bus arbeiten.

Der neue PCI-Patch mit der Version 1.04 soll diese Beschränkungen aufheben und laut VIA auch bei RAID-Adaptern von ACARD, Adaptec und Highpoint für mehr Performance sorgen. Mittlerweile gibt es auch eine Version 1.05. VIA hat hier aber nur eine Fehlermeldung beseitigt, die manchmal im Event-Viewer erscheint.

Wir haben die Bus-Performance mit den PCI-Karten der Hersteller getestet, die VIA angibt. Zusätzlich überprüften wir die Wirkung des Patches mit dem Advance 29133, einem weiteren Ultra-ATA/133-PCI-Controller.

Das Ergebnis kann diesmal überzeugen: Die Burst-Geschwindigkeit steigt bei allen Karten mit Patch um 20 bis 30 MByte/s. Damit liegt die Performance von VIAs PCI-Bus auf dem Niveau von Intel-Chipsätzen. Der Advance-Controller belegt, dass die neue Patch-Version nicht wie die Version 1.01 nur bei bestimmten Produkten Besserung bringt.

Burst-Transferraten

PCI-Controller

ohne Patch [MByte/s]

mit Patch 1.04 [MByte/s]

Gemessen mit Maxtor DiamondMax D740X auf VIA P4XB-Mainboard mit P4X266A-Chipsatz

ACARD AEC-6280

89,6

106,5

Adaptec 29160

78,2

104,5

Advance 29133

82,9

105,8

HighPoint RocketRAID 133

81,2

99,9

Promise Ultra133 TX2

90,1

111,3

Die Überprüfung mit unserem Logic-Analyzer belegt, dass wie beim bisherigen VIA-Patch 1.01 die Burst-Länge auf dem PCI-Bus sich von vormals 24 auf nun 120 zusammenhängende Datenblöcke erhöht.

Der PCI-Patch 1.04 (1.05) arbeitet nun auch mit VIA-Chipsätzen ohne V-Link-Technologie zusammen. So beispielsweise bei den von uns überprüften KT133A und MVP3. Der Patch steigert die Burst-Rate beim KT133A von 78,2 auf 108,3 MByte/s, beim MVP3 gar von 64,1 auf 102,2 MByte/s. Diese Werte haben wir mit dem Promise Ultra133 TX2 ermittelt.

Ob VIAs neuer PCI-Patch aber alle grundlegenden PCI-Probleme löst, bleibt abzuwarten. Viele unserer Leser klagen über neue Stabilitätsprobleme mit dem Patch. tecCHANNEL führt weitere ausführliche Tests mit Hinblick auf diese neuen "Nebeneffekte" durch und wird Sie darüber informieren.

Etwas verwirrend verfährt VIA mit der Bezeichnung und Version des Patches: Der Dateiname "viapfd.zip" der Version 1.01 vom Januar 2002 wurde bei der aktuellen Version in "rpp1.01.zip" umbenannt. Hier handelt es sich aber um den aktuellen Patch mit der internen Versionsnummer 1.04. Die Datei "rpp1.02.zip" enthält den Patch mit interner Version 1.05.

Sonderfall AMD 760MPX

Ein Sonderfall bei unseren Messungen der PCI-Performance ist das Asus A7M266-D. Das Mainboard verwendet AMDs neuen Multiprozessor-Chipsatz AMD-760 MPX. Der Chipsatz für zwei Athlon-MP-Prozessoren besteht aus dem System-Controller AMD-762 sowie dem Peripherie-Controller AMD-768.

AMDs 760 MPX bietet als Besonderheit zwei PCI-Busse: Der primäre PCI-Bus ist direkt an den System-Controller gekoppelt und besteht aus zwei 64-Bit-Steckplätzen. Diese takten mit 66 MHz und können eine Bandbreite von 532 MByte/s liefern. Kompatibilität zu normalen 32-Bit-PCI-Karten mit 33 MHz Taktfrequenz bieten die 64-Bit-Steckplätze ebenfalls.

An den primären PCI-Controller der Northbridge ist auch der Peripherie-Controller als weiteres PCI-Device angekoppelt. Die PCI-Verbindung zwischen der North- und Southbridge ist 32 Bit breit und taktet mit 66 MHz. Der sekundäre PCI-Controller der Southbridge unterstützt die "klassischen" PCI-Steckplätze mit 32-Bit-Datenbreite und 33 MHz Taktfrequenz.

Ultra-ATA/133 Burst-Datentransferraten

PCI-Bus

ACARD AEC-6280

Highpoint RocketRAID 133

Promise Ultra133 TX2

Alle Messungen wurden mit der Maxtor DiamondMax D740X durchgeführt.

primär

111,8 MByte/s

96,9 MByte/s

118,7 MByte/s

sekundär

76,8 MByte/s

66,3 MByte/s

73,9 MByte/s

Die Messung der Burst-Datentransferraten der Ultra-ATA/133-PCI-Controller zeigt beim AMD-760 MPX je nach Steckplatz große Unterschiede: Beim Betrieb der ATA/133-Steckkarte im sekundären PCI-Bus sind nur Bursts von maximal 77 MByte/s möglich. Hier liefert der AMD-Chipsatz ein ähnlich schlechtes Ergebnis wie die VIA-Chipsätze. Die Messung des PCI-Timings zeigt dabei Burst-Längen von 28 zusammenhängenden Datenblöcken. Dann liegen zwei Waitstates auf dem Bus sowie die neue Zieladresse an.

Anders im primären PCI-Bus: Sehr gute 119 MByte/s Datentransferrate sind bei den Burst-Messungen mit dem Promise Ultra133 TX2 möglich. Die 32-Bit-Steckkarten arbeiten in den 64-Bit-Steckplätzen mit den herkömmlichen 33 MHz Bustakt. Wer bei AMDs Multiprozessor-Chipsatz auch für 32-Bit-PCI-Steckkarten hohe Performance benötigt, sollte den primären PCI-Bus wählen. Dieser wird nicht durch kurze Burst-Phasen und Waitstates gebremst.

Update: Fazit

Das PCI-Performance-Problem von VIA betrifft Mainboards für Intel- und AMD-Prozessoren gleichermaßen. VIA passt nur die Northbridge an den Prozessortyp an und verwendet in der Regel die gleiche Southbridge bei den Chipsets einer Generation. In der Southbridge sitzt aber bei den V-Link-Chipsets das komplette PCI-Interface. Nach unseren Tests sind alle Southbridge-Typen bis hin zur neuen VIA VT8233A von dem PCI-Problem betroffen. Lediglich der interne ATA/133-Controller der VT8233A kommt auf die gewünschte Performance. Der PCI-Bus schwächelt aber auch hier. Bei den älteren Chipsets ohne V-Link treten die Performance-Probleme ebenfalls auf. Sie teilen sich dieses Manko mit ihren Interface-kompatiblen Vorbildern von AMD.

Schuld an der Misere hat die geringe PCI-Performance der Chipsätze. Liegt sie in der Theorie und laut Datenblatt wie bei Intel-Chipsätzen bei 133 MByte/s (1000er Basis), so bleiben in der Praxis nur 65 bis maximal 90 MByte/s übrig. Die Intel-Chipsätze erreichen immerhin 110 bis 119 MByte/s. Die SiS- und ALi-Chipsets platzieren sich zwischen VIA und Intel.

Die Probleme mit VIA-Chipsätzen sind besonders für Ultra-ATA/133-RAID-Controller wie Highpoints RocketRAID 133 ein Ausschlusskriterium. In der Praxis bemerkt der Käufer beim Anschluss einer einzelnen Festplatte noch nicht viel von den Einschränkungen. Die preiswerten Ultra/ATA-Controller sind aber deshalb so beliebt, weil sich mehrere Platten zu einem Verbund zusammenschließen lassen. Bereits zwei Festplatten mit sequenziellen Datentransferraten von gut 40 MByte/s werden beim Zusammenschluss zu einem RAID-0 ausgebremst. Statt 80 MByte maximale Datentransferrate bleiben dann - je nach Mainboard - nur gut 60 MByte/s übrig.

VIA führte Anfang Januar 2002 dann still den Promise-RAID-Performance-Patch ein. Diese Lösung funktionierte aber nur mit Promise-PCI-Karten und Mainboards mit V-Link-Technologie. Anfang Februar folgte dann eine neue Version 1.04, die auch bei PCI-Karten anderer Hersteller eine Performance-Steigerung ermöglicht. Allerdings berichten viele Leser von Stabilitätsproblemen mit dem neuen Patch. Das grundlegende Problem von VIAs PCI-Bus-Misere ist somit wohl noch nicht gelöst.

Ambitionierte Anwender im semi- und professionellen Bereich sollten somit Mainboards mit VIA-Chipsets noch mit Vorsicht genießen, wenn sie hohen Wert auf die Stabilität des Systems legen. (cvi)

Testkonfiguration

Komponente

Daten

Mainboard 1

Tyan Trinity ATX S1598

Typ

Super Socket 7

Chipsatz

VIA MVP3

BIOS

V1.04a 052199

Mainboard 2

Elitegroup K7VZA Rev. 3.0

Typ

Socket A

Chipsatz

VIA KT133A

BIOS

3.3b vom 20.09.2001

Mainboard 3

Shuttle AV45GTR

Typ

Socket 478

Chipsatz

VIA P4X266A & VT8233A

BIOS

v6.00PG vom 06.11.2001

Mainboard 4

VIA P4XB

Typ

Socket 478

Chipsatz

VIA P4X266A & VT8233

BIOS

---

Mainboard 5

MSI 845 Pro2

Typ

Socket 478

Chipsatz

Intel i845

BIOS

---

Mainboard 6

Siemens D1127

Typ

Slot 1

Chipsatz

Intel i820

BIOS

Version 4.06 Rev. 1.05.1127 / 25.05.2000

Mainboard 7

Typ

Chipsatz

ALi Alladin Pro5

BIOS

Mainboard 8

MSI 645 Ultra

Typ

Socket 478

Chipsatz

SiS 645

BIOS

---

Mainboard 9

Asus A7M266-D

Typ

Dual Socket A

Chipsatz

AMD-760 MPX

BIOS

---

Festplatte 1

Maxtor DiamondMax D540X Modell 4G120J6

Kapazität

120 GByte

Schnittstelle

Ultra-ATA/133

Festplatte 2

Maxtor DiamondMax D540X Modell 4G160J8

Kapazität

160 GByte

Schnittstelle

Ultra-ATA/133

Festplatte 3

Maxtor DiamondMax D740X Modell 6L40J2

Kapazität

40 GByte

Schnittstelle

Ultra-ATA/133

Festplatte 4

Maxtor DiamondMax D740X Modell 6L80J4

Kapazität

80 GByte

Schnittstelle

Ultra-ATA/133

Festplatte 5

IBM Deskstar 60GXP Modell IC35L040AVER07-0

Kapazität

40 GByte

Schnittstelle

Ultra-ATA/100

Festplatte 6

Fujitsu MAM3184MP

Kapazität

18,4 GByte

Schnittstelle

Ultra160-SCSI

PCI-Controller 1

HighPoint RocketRAID 133

Typ

Ultra-ATA/133

Firmware

v2.1

PCI-Controller 2

Promise Ultra133 TX2

Typ

Ultra-ATA/133

Firmware

v2.20.0050.10

PCI-Controller 3

ACARD AEC-6280

Typ

Ultra-ATA/133

Firmware

---

PCI-Controller 4

Promise Ultra100

Typ

Ultra-ATA/100

Firmware

v2.00 (Build 12)

PCI-Controller 5

Adaptec SCSI-RAID 2100S

Typ

Ultra160 SCSI

Firmware

v001.35