TCache - Der Festplatte Beine gemacht

Die Arbeitsgeschwindigkeit eines Computers hängt von mehreren Faktoren ab. Nicht zu vernachlässigen ist der Einfluß der Geschwindigkeit der Peripheriegeräte. Um den Datenzugriff auf externe Speichermedien zu beschleunigen, bietet sich der Einsatz von Cache-Programmem an, zu denen das Freeware-Produkt TCache zählt.

Gehören Sie auch zu denjenigen, denen der eigene Rechner nie schnell genug sein kann? Dann dürften Sie sich in guter Gesellschaft befinden, denn den meisten Anwendern geht es nicht anders. Soft- und Hardware zur Erhöhung der Rechenleistung stehen weiterhin besonders hoch im Kurs. Was die Software angeht, finden sich die meisten Ansatzpunkte bei der Beschleunigung von Ausgaberoutinen, sei es für den Bildschirm, den Drucker oder die Festplatte. Bei letzterer erreicht man einen höheren Datendurchsatz durch das Puffern von Sektoren im Hauptspeicher des Rechners. Hierdurch läßt sich die Zahl der naturgemäß relativ langsamen Plattenzugriffe vermindern. Daten, die sich bereits im Speicher (Cache) befinden, brauchen nicht erneut gelesen zu werden, sondern werden lediglich an die gewünschte Stelle kopiert. Dieses Verfahren erinnert an eine RAM-Disk, mit dem Unterschied, daß der Cache nicht datei-, sondern sektororientiert arbeitet.

Cache-Strategien

Bei vielen Festplatten neueren Datums (Quantum, Fujitsu, Maxtor) wird ein Cache bereits über die Hardware der Platte realisiert. Dieser Cache hat eine feste Größe, die sich meist zwischen 32 und 256 KB bewegt. Grundsätzlich läßt sich ein Festplatten-Cache als Lese- und/oder Schreib-Cache realisieren.

Ein Lese-Cache arbeitet häufig mit einem Sektor-Prefetch, was besagt, daß bei Lesezugriffen nicht nur der an geforderte Sektor, sondern zusätzlich ein paar der diesem Sektor folgenden Sektoren eingelesen werden. Dies macht insofern Sinn, als man davon ausgehen kann, daß ein Großteil der Plattenzugriffe sich auf benachbarte Sektoren bezieht. Der Sektor-Prefetch verhindert also mehrfache Zugriffe auf aufeinanderfolgende Sektoren und faßt diese quasi in einem einzigen Zugriff auf mehrere Sektoren zusammen. Die Zahl der Plattenzugriffe wird so minimiert, was eine spürbare Geschwindigkeitssteigerung zur Folge hat.

Platten, die einen Schreib-Cache besitzen, schreiben Daten nicht sofort nach der Übertragung auf die Platte, sondern erst nach einer kurzen Verzögerung. So wird sichergestellt, daß für Zugriffe auf den gleichen Sektor, die in kurzen Zeitabständen erfolgen, dieser Sektor nicht mehrmals geschrieben werden muß. Außerdem werden zusammenhängende Datenblöcke in einem einzigen Durchgang auf die Platte geschrieben. Entscheidend ist, daß die Datenübertragung bereits beendet ist, nachdem die Platte die Daten entgegengenommen hat. Wann die Daten endgültig gesichert werden, obliegt der Festplatte. Der Rechner braucht also nicht länger zu warten, als für die eigentliche Datenübertragung notwendig ist. Es ist leicht einsichtig, daß ein Schreib-Cache einen Nachteil hat, der sich im Falle eines Stromausfalls bemerkbar machen kann. Sind zu diesem Zeitpunkt noch nicht alle Daten auf der Platte untergebracht, sind die noch nicht geschriebenen Cache-Inhalte verloren. Wem dieses Risiko zu groß ist, dem bleibt die Möglichkeit, den Schreib-Cache zu deaktivieren. Leider ist Software, mit der sich dies bewerkstelligen läßt, rar gesät. Das SCSI-Tool von Hard & Soft stellt für eine Reihe von Platten entsprechende Funktionen zur Verfügung. (Inzwischen sind übrigens einige wenige Festplatten in der Lage, trotz eines Wegfalls der Spannungsversorgung den Cache-Inhalt vollständig zurückzuschreiben.)

Software statt Hardware

Nun sind noch lange nicht alle Platten mit einem eigenen Cache ausgestattet. Grund genug, einen solchen per Software im Speicher des Rechners zu realisieren. Genau dies ist die Hauptaufgabe von Programmen wie TCache. Eine Größenbeschränkung für den Cache ist lediglich durch den freien Hauptspeicher gegeben. Selbst in Verbindung mit Festplatten, die einen eigenen Cache verwalten, lassen sich so Datenzugriffe erheblich beschleunigen. Dies zeigt sich besonders dann, wenn Datenmengen übertragen werden, die das Fassungsvermögen des Caches übersteigen.

Schließlich sind die Randbedingungen für das Laden von Daten von externen Medien und für das Verschieben von Daten, die sich im Hauptspeicher befinden, vollkommen andere. So erlaubt der ACSI-Bus je nach Rechner maximale Transferraten von etwa 1.3 MB/s, der SCSI-Bus des TT ermöglicht annähernd 2 MB/s. (Beim Falcon030 dürfte es ähnlich aussehen.) Diese Werte werden aber auch nur im Idealfall erreicht, also dann, wenn große Datenmengen an einem Stück eingelesen werden. Für den Speicherzugriff liegen die Werte beim ST bei etwa 1.5, beim TT bei etwa 6 MB/s. Diese Werte werden naturgemäß nicht nur beim Lesen, sondern auch beim Schreiben von Daten über den Cache erreicht.

Lesen und Schreiben

TCache orientiert sich von der Funktionsweise her an dem, was die Cache-Hardware der Festplatten bietet. So arbeitet der Lesecache mit einem Sektor-Prefetch, Schreibzugriffe lassen sich auf Wunsch verzögern, was einem Schreib-Cache gleichkommt. Alle diese Einstellungen lassen sich für jedes Laufwerk individuell festlegen (Abbildung). Auch für Floppies läßt sich ein Cache einrichten. Für den Schreib-Cache gilt natürlich, daß seine Anwendung mit Vorsicht zu genießen ist. Ein Absturz des Rechners oder ein vorschneller Griff zum Reset-Taster kann dazu führen, daß nicht mehr alle Änderungen zur Platte gelangen und so Inkonsistenzen bei den Daten auftreten. Wem das zu riskant erscheint, der sollte auf den Schreib-Cache verzichten oder aber die Verzögerung bis zum Zurückschreiben der Daten möglichst gering einstellen. TCache bietet immerhin die Option, noch nicht gesicherte Cache-Daten beim Auslösen eines Resets auf die Platte zu retten.

Fat und Directory als Sonderfall

Auf einige Bereiche einer Festplattenpartition wird besonders häufig zugegriffen, da diese wichtige Verwaltungsinformationen enthalten. Die Rede ist hier von der Disk Belegungstabelle (FAT), die Angaben darüber enthält, welcher Sektor zu welcher Datei gehört, sowie vom Wurzelverzeichnis. Im Sinne eines schnellen Plattenzugriffs ist es wünschenswert, diese Bereiche dauerhaft zu puffern, so daß sie nicht beim Laden anderer Sektoren aus dem Cache verdrängt werden. In TCache läßt sich dies einstellen, was selbst bei einem kleinen Cache für eine merkliche Beschleunigung beim Arbeiten mit Dateien sorgt. Darüber hinaus ist TCache in der Lage, Zugriffe auf Ordner als solche zu erkennen und somit auch Verzeichnisbereiche dauerhaft zu puffern, die kein Bestandteil des Wurzelverzeichnisses sind.

Die Beschleunigung von Datenzugriffen bei Verwendung von TCache fällt selbst bei schnellen Festplatten sehr deutlich aus. So laufen Dateioperationen auf einem TT mit schneller Festplatten mit etwa doppelter Geschwindigkeit ab. Bei Standardfestplatten für den Atari wie der Seagate ST 157N steigt die durch den Cache erzielte Arbeitsgeschwindigkeit noch krasser an. Pauschale Angaben über den Geschwindigkeitszuwachs lassen sich allerdings nur schwer machen, da dies von verschiedenen Faktoren wie Festplattentyp und Partitionsgröße abhängt. Schließlich trägt auch die Konfigurierung von TCache einen erheblichen Teil zur Effektivität des Caches bei.

Zugaben

Wenn auch die Hauptaufgabe von TCache die Cache-Funktion darstellt, so bietet das Programm noch einige zusätzliche interessante Features. Zusätzlich zum Cache läßt sich auch eine RAM-Disk installieren, die aber nicht resetfest ist. Hier besteht also noch Handlungsbedarf für zukünftige Programmversionen. Datenzugriffe lassen sich auf andere Laufwerke umlenken, was sich beispielsweise dann als praktisch erweist, wenn man ein Software-Paket von Laufwerk B: aus installieren will, die Installations-Software aber dummerweise auf Laufwerk A: beharrt. Solche Unsitten gehören leider immer noch nicht der Vergangenheit an. Wer schließlich Informationen über die Trefferquote beim Datenzugriff erhalten möchte, kann diverse statistische Angaben abrufen. Sie stellen eine gute Hilfe dar, wenn es um eine optimale Konfigurierung von TCache geht.

Die Anleitung zu TCache besteht aus einer ausführlichen Textdatei, die leicht verständlich die Nutzung von TCache vor Augen führt. Überhaupt handelt es sich bei TCache um ein gut durchdachtes Software-Produkt für ST und TT, das den Vergleich mit kommerziellen Programmen nicht zu scheuen braucht. TCache ist Freeware; mit der Benutzung des Programms geht der Anwender also keinerlei Verpflichtungen ein, die nicht moralischer Art wären. Dies sollte einen jedoch nicht davon abhalten, den Autoren solcher Programme Anerkennung zu zollen. Im Falle von TCache ist bemerkenswerterweise eine Spende an einen Tierschutzverein erwünscht.

Wer einige KB an Hauptspeicher für einen Cache loseisen kann, findet TCache im Mausnetz, auf diversen ftp-Servern oder erhält das Programm inklusive Quelltext gegen eine Diskette (möglichst mit PD-Software) im frankierten Rückumschlag direkt beim Autor.

Bezugsquelle:

Ralf Biedermann
Ortfeld 3
W-2815 Langwedel

TCache

Positiv:

Freeware
individuelle Konfiguration für jedes Laufwerk
Umlenkung von Datenzugriffen auf andere Laufwerke

Negativ:

RAM-Disk nicht resetfest


Uwe Seimet
Aus:ST-Computer 12 /1992, Seite

Links

Copyright-Bestimmungen: siehe Über diese Seite