Les algorithmes RAID ont été présentés au public en 1987. À ce jour, ils restent la technologie la plus demandée pour protéger et accélérer l'accès aux données dans le domaine du stockage de l'information. Mais l'âge de la technologie informatique, qui a franchi le cap des 30 ans, n'est plutôt pas la maturité, mais déjà la vieillesse. La raison en est le progrès, qui apporte inexorablement de nouvelles opportunités. À une époque où il n'y avait pratiquement pas d'autres disques que les disques durs, les algorithmes RAID permettaient d'utiliser au mieux les ressources de stockage disponibles. Cependant, avec l'avènement du SSD, la situation a radicalement changé. Désormais, RAID lorsque vous travaillez avec des disques SSD est déjà un « nœud coulant » sur leurs performances. Par conséquent, afin de libérer tout le potentiel des caractéristiques de vitesse des SSD, une approche complètement différente de leur utilisation est simplement nécessaire.

En plus des différences évidentes entre HDD et SSD dans les principes de fonctionnement, ces types de supports ont une autre caractéristique importante : n'importe quel disque dur peut écraser n'importe quelle donnée avec une granularité d'un bloc (maintenant c'est le plus souvent 4 Ko). Pour les SSD, le processus d'écrasement est une procédure beaucoup plus compliquée :
- Les données modifiées sont copiées au nouvel emplacement. Dans le même temps, la granularité est le même bloc, mais composé de plusieurs pages et d'une taille de 256 Ko - 4 Mo. Ceux. lors du changement du même 4 Ko, il est nécessaire de copier, entre autres, toutes les pages adjacentes qui forment un seul bloc.
- Les "anciens" blocs sont marqués comme inutilisés, afin qu'ils puissent être écrasés avec le Garbage Collector.

Ecriture/écrasement séquentiel sur SSD
Dans le cas de l'écriture/réécriture séquentielle, cette caractéristique du fonctionnement du SSD ne joue pas un grand rôle au niveau de ses performances, car. les blocs sont côte à côte et le ramasse-miettes fait bien son travail en arrière-plan. Mais dans la vraie vie, et plus encore dans le segment Enterprise pour SSD, l'accès aléatoire aux données est le plus souvent utilisé. Et ces données sont écrites à des endroits arbitraires sur les disques.
Plus il y a de données écrites sur le SSD, plus il est difficile pour le ramasse-miettes de fonctionner, car la fragmentation augmente considérablement. En conséquence, le moment vient où le processus de nettoyage du lecteur cesse d'être "en arrière-plan": les performances du SSD chutent considérablement, car. une partie notable de celui-ci est prise par le Garbage Collector.

L'emplacement réel des données sur un SSD au quotidien
Pour illustrer l'effet du travail du "garbage collector" selon le mode d'écriture sur le disque, vous pouvez effectuer les tests les plus simples : écritures séquentielles et aléatoires par blocs de 4Ko sur un disque de 100Go. (Source - entreprise )

Performances d'écriture séquentielle

Performances d'écriture aléatoire
Comme le montrent les tests, la baisse des performances peut atteindre plus de deux fois. Et ce n'est qu'un seul lecteur. Dans le cas de l'utilisation d'un SSD dans le cadre d'un groupe RAID, le nombre d'opérations de réécriture augmente considérablement en raison du travail avec la parité.
En général, grâce à ces caractéristiques de fonctionnement SSD, il existe pour eux un paramètre tel que le facteur d'amplification d'écriture. Il s'agit du rapport entre la quantité de données écrites sur le disque et la quantité de données réellement envoyées par l'hôte. Et pour le RAID5 le plus populaire, ce ratio est d'environ 3.5.
En conséquence, les systèmes avec RAID classique n'utilisent essentiellement les SSD qu'à environ 10 % de leur vitesse réelle et évoluent mal en termes de performances lorsque le nombre de disques augmente à plus d'une douzaine.
Notez également que les opérations d'écriture excessives réduisent non seulement les performances du SSD, mais réduisent également ses ressources loin d'être infinies, réduisant ainsi la durée de vie du disque.
, qui est au cœur de tous les produits AccelStor, est conçu comme une alternative aux algorithmes RAID classiques lorsque vous travaillez avec des SSD. Le caractère innovant de la technologie est marqué à la fois par divers brevets et récompenses (notamment lors du Flash Memory Summit 2016) et par les résultats de tests indépendants (par exemple, SPC1).
Substance consiste à convertir toutes les requêtes d'écriture entrantes, et principalement de type aléatoire, en un ensemble de blocs se rapprochant le plus possible du mode d'écriture séquentielle du point de vue du lecteur. En conséquence, l'écriture sur les SSD s'effectue dans le mode le plus confortable pour eux, et les performances finales dépassent tout système doté d'un RAID classique.
Tous les SSD des systèmes AccelStor sont divisés en deux groupes FlexiRemap® symétriques. La taille du groupe dépend du modèle et est de 5 à 11 disques. Pour la tolérance aux pannes au sein du groupe, la parité est utilisée comme RAID5. Les deux groupes sont utilisés ensemble pour former un espace de stockage commun. Par conséquent, la tolérance aux pannes résultante sera similaire à celle d'une matrice RAID50 composée de deux groupes : le système est capable de supporter la panne de jusqu'à deux SSD, mais pas plus d'un dans chaque groupe FlexiRemap®.

Toutes les demandes d'écriture entrantes sont divisées en blocs de 4 Ko, qui sont écrits en mode round robin dans les deux groupes FlexiRemap®. Dans le même temps, le système conserve constamment des enregistrements de la demande de blocs enregistrés, en essayant d'écrire des blocs similaires aussi proches que possible les uns des autres lorsqu'ils changent. Il s'avère un analogue virtuel du déchirement, s'il est exprimé en termes de systèmes de stockage. Dans ce cas, le travail du "éboueur" est grandement facilité : après tout, les blocs inutilisés seront toujours à proximité.
Il convient de noter que contrairement aux produits concurrents, ils n'utilisent pas la fonctionnalité de mise en cache des requêtes entrantes dans la RAM du contrôleur. Tous les blocs de données entrants sont immédiatement écrits sur le SSD. L'hôte reçoit la confirmation d'une écriture réussie uniquement après le placement physique des données sur les disques. Seules les tables d'allocation de blocs sur le SSD sont stockées dans la RAM pour accélérer l'accès et déterminer où écrire le prochain bloc de données. Bien sûr, pour des raisons de fiabilité, des copies de ces tableaux se trouvent sur les supports eux-mêmes. De ce fait, les systèmes AccelStor ne nécessitent aucune protection du cache batterie/condensateur (il est cependant possible de communiquer avec l'onduleur - pour un arrêt "soft" en cas de problème d'alimentation).
Grâce à cette approche d'organisation de l'enregistrement, le ramasse-miettes est vraiment capable de travailler en arrière-plan sans affecter de manière significative la vitesse des disques, ce qui permet finalement d'utiliser jusqu'à 90 % des performances du SSD dans le système. C'est précisément la performance IOPS élevée des systèmes AccelStor dans le contexte de All Flash, qui sont basés sur des algorithmes RAID.
Une autre caractéristique importante de la technologie FlexiRemap® est la réduction significative des écritures SSD redondantes. Ainsi, l'amplification en écriture pour les systèmes AccelStor n'est que de 1.3, ce qui, traduit en langage courant, signifie une augmentation de la durée de vie des disques par rapport au RAID5 de plus de 2.5 fois !

En raison de la surveillance constante par le système de la politique de placement des données sur le SSD, tous les disques s'usent de la même manière. Cette approche permet de prévoir leur durée de vie et de signaler à l'avance à l'administrateur l'épuisement de la ressource d'enregistrement.
Il est clair que les SSD peuvent tomber en panne. Dans ce cas, le système commencera immédiatement la reconstruction sur l'un des disques de secours. Dans ce cas, le groupe FlexiRemap®, qui est dans l'état dégradé, passe en mode lecture seule, et toutes les demandes d'écriture sont dirigées vers le deuxième groupe. Un tel mécanisme de protection est prévu pour accélérer l'opération de reconstruction et réduire la probabilité de défaillance d'un autre disque au sein du même groupe. Ce n'est un secret pour personne que lors d'une reconstruction, tous les disques d'un groupe subissent une charge accrue en raison de l'interférence des opérations de lecture, d'écriture et de restauration sur le disque de secours. Cela augmente la probabilité qu'un autre disque tombe en panne. Et plus il y a d'opérations d'écriture, plus la reconstruction prendra du temps.

Une fois le processus de reconstruction terminé et le groupe FlexiRemap® redevenu normal, il y aura un léger décalage dans la ressource d'écriture entre les deux groupes. Par conséquent, pour l'égaliser, les opérations d'écriture ultérieures tomberont plus souvent sur le groupe restauré (bien sûr, de manière à ce que les performances finales du système ne souffrent pas beaucoup).
Il n'est pas possible d'augmenter les performances des systèmes All Flash basés sur des algorithmes RAID au-dessus de certaines valeurs (~280 4 IOPS @ XNUMX XNUMX écritures aléatoires), même en utilisant des systèmes de mise en cache complexes. La technologie FlexiRemap®, grâce à une approche complètement différente de l'organisation de l'espace de stockage, non seulement surmonte facilement cet obstacle, mais augmente également plusieurs fois la durée de vie des SSD. Alors les systèmes disposent d'avantages significatifs parmi les baies All Flash sur de nombreux fronts (IOPS/$, Go/$, TCO, ROI), ce qui en fait des candidats idéaux pour des postes clés dans les centres de données clients pour la résolution de tâches gourmandes en ressources.
Source: habr.com
