Zwei Schreibmodi für den Cache
Sep 28, 2023Der RAID-Controller verfügt über zwei Optionen für die Verarbeitung von Schreib-E/A der oberen Ebene:
1.WriteBack-Modus: Wenn die Daten von der oberen Schicht gesendet werden, informiert der RAID-Controller den Host sofort nach dem Speichern im Cache darüber, dass I0 abgeschlossen ist, sodass der Host den nächsten IO ohne Wartezeit ausführen kann. Zu diesem Zeitpunkt befinden sich die Daten im Cache des RAID-Controllerkarte, aber nicht wirklich auf die Festplatte geschrieben, die eine Pufferrolle spielt.
Der RAID-Controller wartet auf die Zeit, in der er inaktiv ist, und schreibt entweder einzeln oder in großen Mengen auf die Festplatte oder stellt die E/A in eine Warteschlange (ähnlich der Warteschlangentechnik auf der Festplatte), damit ein Optimierungsalgorithmus effizient auf die Festplatte schreibt. Da die Schreibgeschwindigkeit der Festplatte langsam ist, täuscht der RAID-Controller in diesem Fall den Host, erreicht aber eine hohe Geschwindigkeit, was bedeutet: „Behalten Sie die Leichtigkeit an der Spitze, behalten Sie den Ärger für sich.“ Dies hat einen schwerwiegenden Nachteil: Sobald die Stromversorgung unerwartet ausfällt, gehen alle Daten im Cache auf der RAID-Karte verloren. Zu diesem Zeitpunkt geht der Host davon aus, dass die E/A abgeschlossen ist, sodass die obere und untere Schicht zu Inkonsistenzen führen , die Folgen werden sehr schwerwiegend sein.
Daher verfügen kritische Anwendungen wie Datenbanken über eigene Konsistenzmaße. Aus diesem Grund muss die High-End-RAID-Karte den Akku zum Schutz des Caches verwenden, damit der Akku im Falle eines versehentlichen Ausschaltens den Cache weiterhin mit Strom versorgen kann, um sicherzustellen, dass die Daten nicht verloren gehen. Beim erneuten Einschalten schreibt die RAID-Karte zunächst die ausstehenden E/A-Daten aus dem Cache auf die Festplatte.
2.WriteThrough-Modus: Dies ist der Writethrough-Modus, d. h. die oberste E/A. Erst nachdem die Daten tatsächlich vom RAID-Controller auf die Festplatte geschrieben wurden, wird der Host über den Abschluss des IO benachrichtigt, was eine hohe Zuverlässigkeit gewährleistet. In diesem Fall ist die Beschleunigung des Caches nicht mehr vorteilhaft, die Pufferung ist jedoch weiterhin effektiv.
Der Lesecache ist nicht nur ein Schreibcache, sondern auch sehr wichtig. Caching ist ein komplexes Thema und verfügt über einen komplexen Mechanismus, von dem einer PreFctch oder Prefetching genannt wird. Dabei werden Daten auf der Festplatte, auf die der Host „wahrscheinlich“ als nächstes zugreifen wird, in den Cache gelesen, bevor der Host eine Lese-E/A-Anfrage ausgegeben hat . Wie berechnen wir die Möglichkeit?
Tatsächlich wird davon ausgegangen, dass beim nächsten Host-E/A eine große Anzahl von Kindern die Daten an der Speicherstelle auf der Festplatte lesen wird, die dieses Mal an die gelesenen Daten angrenzt. Diese Annahme ist sehr nützlich für sequentielle E/A-Lesevorgänge, z. B. das Lesen logisch zusammenhängender Daten, z. B. FTP-Dienste zur Übertragung großer Dateien, Video-on-Demand-Dienste usw., bei denen es sich um Anwendungen zum Lesen großer Dateien handelt.
Wenn andererseits auch viele kleine Dateien zusammenhängend auf der Festplatte gespeichert sind, verbessert die Zwischenspeicherung die Leistung erheblich, da das Lesen kleiner Dateien hohe IOPS erfordert und es ohne Zwischenspeicherung lange dauern wird, bis der Kopf versucht, die E/A abzuschließen jedes Mal.
Es gibt auch einen Caching-Algorithmus, der nicht auf Prefetching basiert, sondern auf der Annahme, dass der Host beim nächsten IO-Vorgang möglicherweise auch die Daten des letzten oder mehrerer (aktueller) Lesevorgänge liest.
Diese Annahme unterscheidet sich völlig vom Prefetching. Nachdem der RAID-Controller ein Datenelement in den Cache eingelesen hat und die Daten durch die Schreib-E/A des Hosts geändert werden, schreibt der Controller sie nicht sofort zur Speicherung auf die Festplatte. Es bleibt im Cache, da davon ausgegangen wird, dass der Host die Daten in naher Zukunft möglicherweise erneut lesen wird. Dann ist es nicht erforderlich, auf die Festplatte zu schreiben und den Cache zu löschen und dann darauf zu warten, dass der Host liest, und dann von der Festplatte in den Cache zu lesen. Es ist besser, statisch zu bremsen, einfach im Cache zu bleiben und auf den Host zu warten zu „werfen“, die Frequenz ist nicht hoch, dann auf die Festplatte schreiben.
Tipps:RAID-Karten der mittleren und oberen Preisklasse verfügen im Allgemeinen über mehr als 256 MB RAM als Cache.
Nutzen Sie die Kraft von RAID. Erleben Sie leistungsstarke Datenspeicherung mit unseren fortschrittlichen RAID-Karten. Vertrauen Sie unserer über 10-jährigen Expertise.STOR Technology Limited erhalten Sie außerdem eine große Anzahl originaler Hochleistungsprodukte, wie zum Beispiel: lsi 9480 8i8e, lsi 9361 4i, lsi 9341 8i und so weiter, drei Jahre Garantie und unübertroffener Fabrikpreis, um Ihre Bedenken zu reduzieren.