Laufwerke Schnittstelle

300

Es wird oft gesagt, dass die Festplattenlaufwerk-Schnittstelle einen Engpass bei der Datenübertragung darstellt. Z.B. Bei Festplatten werden die Daten vom Festplattenpuffer zum Festplattenspeichermodul übertragen. Und da der Festplattenpuffer ein Cache-Speicher ist, warum ist die Schnittstelle dann ein Engpass? Ich meine, der Cache ist eine Art Sram. Die Übertragungsgeschwindigkeit sollte also hoch sein. Warum ist es nicht so?

0
Die Wikipedia-SATA-Rate von Puffer zu Computer beträgt 3 Milliarden (Bee) Bits pro Sekunde. Der Artikel fährt fort: "Dies ist immer noch die Disk-to-Buffer-Rate heutiger Festplatten." vor 5 Jahren 1
Außerdem verwenden viele Festplatten (und sogar SSDs!) DRAM für ihre großen Caches, nicht für SRAM. Richard the Spacecat vor 5 Jahren 0
Warum ist jedoch eine spezielle Art von Schnittstelle wie Sata, Pata oder Scsi erforderlich? Warum können wir nicht einfach den Puffer im Register des Prozessors lesen? vor 5 Jahren 0
seriell ist schnell und weniger drähte Tony EE rocketscientist vor 5 Jahren 0
Wie würden Sie "einfach den Puffer im Register des Prozessors lesen", ohne den Puffer tatsächlich über eine dieser Schnittstellen mit dem Prozessor zu verbinden? brhans vor 5 Jahren 0
@brhans - es ist nicht so weit davon ausgeschlossen ... IDE war nur eine einfache Erweiterung des AT-Busses, die Festplatten unterschieden sich kaum von integrierten Peripheriegeräten auf der Hauptplatine. Der Prozessor konnte direkt auf seine Register zugreifen, indem er sie ansprach. Jules vor 5 Jahren 0
@Jules - ja, vor 20 Jahren, und selbst dann wurde der Cache des Laufwerks nicht in einen Adressraum gespeichert, den der Prozessor gerade lesen konnte - er benötigte DMA- oder Interrupt-gesteuertes Streaming aus dem Cache des Laufwerks über die Schnittstelle (ATA / IDE) oder was auch immer) und in den RAM des Prozessors. brhans vor 5 Jahren 0
msgstr "Laufwerksschnittstelle ist ein Engpass bei der Datenübertragung." - ist total falsch. Der Engpass besteht entweder beim magentischen Kopfzugriff auf sich drehende Platten oder bei der Flash-Zugriffszeit bei SSDs Ale..chenski vor 5 Jahren 0

2 Antworten auf die Frage

0
Jules

Festplatten und SSDs verwenden heutzutage meistens eine serielle Verbindung, verwendeten jedoch in der Vergangenheit die IDE-Schnittstelle. IDE war im Grunde eine vereinfachte Version des ISA-Busses, den frühe PCs verwendeten. In solchen Computern können Sie einfach direkt auf die Geräteregister zugreifen, wie Sie es vorschlagen. Als jedoch PCI kam, war es schneller, sodass ältere IDE-Laufwerke für den direkten Zugriff zu langsam waren. Spätere Überarbeitungen von IDE (oder besser ATA, wie es umbenannt wurde) erhöhten die Geschwindigkeit (obwohl nicht die Breite: PCI war 32 Bit breit, ATA jedoch bei 16 Bit), aber die Prozessorgeschwindigkeit nahm weiter zu, und weder PCI noch ATA konnten mithalten.

Schließlich haben wir von der parallelen Schnittstelle des ATA zu einer seriellen Schnittstelle gewechselt. Dadurch wird die Verbindung zum Prozessor weniger direkt, die seriellen Schnittstellen können jedoch viel schneller ausgeführt werden, sie sind also viel näher an der vollen Geschwindigkeit. Dies führt jedoch zu Latenzen und ist langsamer als schneller RAM.

Alte Hochgeschwindigkeits-ATA-Laufwerke verwendeten häufig 70 oder 80 ns Speicher, der mit ähnlichen Geschwindigkeiten wie der Bus lief. Moderne Speicher sind schneller, aber bei weitem nicht so schnell wie der Bus. Ich stelle mir vor, dass moderne Laufwerke von den 16-Bit-Prozessoren, die sie verwendet haben, zu größeren Busgrößen gewechselt sind, um den Durchsatz zu erhöhen.

0
laptop2d

Und da der Festplattenpuffer ein Cache-Speicher ist, warum ist die Schnittstelle dann ein Engpass?

Puffer erhöhen die Latenzzeit (mehr Zeit pro Anforderung), da der Inhalt des Puffers / Caches überprüft werden muss. Warum haben wir sie? Da die Daten in der Regel linear sind, sind die Quoten wahrscheinlich, wenn der Puffer das nächste Mal überprüft wird. Die Daten befinden sich bereits im Puffer und die Festplatte muss nicht geprüft werden.

Das andere Problem ist

Ich meine, der Cache ist eine Art Sram. Die Übertragungsgeschwindigkeit sollte also hoch sein. Warum ist es nicht so?

Wenn die Daten aus dem Puffer / Cache geladen werden, sind sie schnell. Dies geschieht nur, wenn die Daten bereits vorhanden sind. Wenn sich die Daten nicht im Cache befinden, werden sie auf die Festplatte geladen, und das ist langsamer. Wenn die Daten kontinuierlich gelesen werden, ist die Wahrscheinlichkeit groß, dass sie nicht im Cache gespeichert sind, da die Caches im Vergleich zur Festplatte gering sind.