Deux modes d'écriture pour le cache
Sep 28, 2023
Le contrôleur RAID dispose de deux options pour gérer les E/S d'écriture de niveau supérieur, comme suit : 1. Mode WriteBack : lorsque les données sont envoyées depuis la couche supérieure, le contrôleur RAID informera l'hôte que I0 est terminé immédiatement après l'avoir enregistré dans le cache, afin que l'hôte puisse exécuter la prochaine IO sans attendre. A ce moment, les données sont dans le cache du Carte contrôleur RAID, mais pas vraiment écrit sur le disque, qui joue un rôle de tampon. Le contrôleur RAID attend le temps d'inactivité et écrit sur le disque un par un, ou écrit sur le disque en masse, ou met les E/S en file d'attente (similaire à la technique de mise en file d'attente sur le disque) pour qu'un algorithme d'optimisation puisse écrire efficacement sur le disque. Étant donné que la vitesse d'écriture du disque est lente, le contrôleur RAID trompe dans ce cas l'hôte, mais gagne une vitesse élevée, ce qui revient à "garder le facile au sommet, garder les ennuis pour vous". Cela présente un inconvénient fatal, c'est-à-dire qu'en cas de panne de courant inattendue, les données du cache sur la carte RAID seront toutes perdues, et à ce moment-là, l'hôte pense que l'E/S est terminée, donc les couches supérieure et inférieure produiront une incohérence. , les conséquences seront très graves. En conséquence, les applications critiques telles que les bases de données disposent de leurs propres mesures de cohérence. Pour cette raison, la carte RAID haut de gamme doit utiliser la batterie pour protéger le cache, de sorte qu'en cas de mise hors tension accidentelle, la batterie puisse continuer à alimenter le cache pour garantir que les données ne soient pas perdues. Lors de la remise sous tension, la carte RAID écrira d'abord les E/S en attente du cache sur le disque. 2. Mode WriteThrough : il s'agit du mode d'écriture directe, c'est-à-dire l'E/S supérieure. Ce n'est qu'après que les données ont été effectivement écrites sur le disque par le contrôleur RAID que l'hôte sera informé de la fin des E/S, ce qui garantit une grande fiabilité. Dans ce cas, l’accélération du cache n’est plus bénéfique, mais sa mise en mémoire tampon reste efficace. En plus d’être un cache en écriture, le cache en lecture est également très important. La mise en cache est un sujet complexe et comporte un mécanisme complexe, dont l'un est appelé PreFctch, ou prélecture, qui lit les données sur le disque qui sont "probablement" accessibles par l'hôte suivant dans le cache avant que l'hôte n'émet une demande d'E/S de lecture. . Comment calcule-t-on la possibilité ? En fait, on considère que la prochaine fois que l'hôte IO, il y aura un taux élevé d'enfants qui liront les données dans l'emplacement du disque adjacent aux données lues cette fois-ci. Cette hypothèse est très utile pour les lectures séquentielles d'E/S, telles que la lecture de données logiquement contiguës, telles que les services de transfert de fichiers volumineux FTP, les services de vidéo à la demande, etc., qui sont des applications de lecture de fichiers volumineux. D'un autre côté, si de nombreux petits fichiers sont également stockés de manière contiguë sur le disque, la mise en cache améliorera considérablement les performances, car la lecture de petits fichiers nécessite des IOPS élevées, et sans mise en cache, il faudra beaucoup de temps pour s'appuyer sur la tête pour chercher à terminer les E/S. chaque fois. Il existe également un algorithme de mise en cache, qui n'est pas basé sur la prélecture, mais sur l'hypothèse que la prochaine fois que l'hôte effectuera des E/S, il pourra également lire les données de la dernière ou de plusieurs lectures (récentes). Cette hypothèse est complètement différente de la prélecture. Une fois que le contrôleur RAID a lu une donnée dans le cache, si les données sont modifiées par les E/S d'écriture de l'hôte, le contrôleur ne les écrit pas immédiatement sur le disque pour le stockage. Il reste dans le cache, car il suppose que l'hôte pourra relire les données dans un avenir proche. Ensuite, il n'est pas nécessaire d'écrire sur le disque et de supprimer le cache, puis d'attendre que l'hôte lise, puis de lire du disque vers le cache, il est préférable de freiner statiquement, restez simplement dans le cache, attendez l'hôte pour "lancer" la fréquence n'est pas élevée, puis écrivez sur le disque. Conseils:Les cartes RAID moyen et haut de gamme disposent généralement de plus de 256 Mo de RAM comme cache. Libérez la puissance du RAID Faites l'expérience du stockage de données hautes performances avec nos cartes RAID avancées. Faites confiance à nos 10+ années d'expertise.STOR Technologie Limitée mettra également à votre disposition un grand nombre de produits originaux et performants, tels que : lsi9480 8i8e, lsi 9361 4i, lsi93418i et ainsi de suite, une garantie de trois ans et un prix usine inégalé pour réduire vos soucis.