Qu'est-ce qu'un cache disque ?

Il existe deux classes principales de cache, le cache de lecture et le cache d'écriture. Un cache de lecture est un outil qui fournit un accès rapide à des données autrement lentes à accéder. Un cache en écriture est un outil qui offre l'illusion de vitesses d'écriture rapides, masquant généralement la vraie vitesse lente d'un périphérique de mémoire à l'utilisateur.

Structure d'un cache

En règle générale, un cache est stocké un niveau de mémoire plus bas que les données réelles. Cependant, les données d'un cache peuvent être mises en cache dans le niveau de mémoire suivant. Il existe quatre niveaux de mémoire, le cache/les registres du processeur étant le niveau le plus bas et le plus rapide et le stockage d'archivage étant le niveau le plus élevé et le plus lent. Les niveaux les plus bas au plus élevés sont le cache/les registres du processeur, la RAM système, les disques de stockage et le stockage d'archivage.

Chaque pas vers le bas des niveaux de mémoire offre une vitesse d'accès accrue mais une capacité réduite. La plupart des utilisateurs à domicile ne disposent que des trois niveaux de stockage les plus bas dans le monde réel. Le stockage d'archives fait généralement référence au stockage sur bande destiné au stockage à long terme et hors ligne. Le stockage d'archives peut également faire référence à l'utilisation de supports de stockage optiques ou d'autres supports de stockage standard qui ont été retirés des appareils et qui sont maintenus hors ligne. Ces exemples sont beaucoup plus susceptibles de se trouver à la maison, mais ne sont toujours pas si courants.

Note: Dans une certaine mesure, le stockage en nuage pourrait être considéré comme une variante du stockage d'archives. Il est très largement en ligne mais pas nécessairement accessible immédiatement et est généralement lent à y accéder. Les supports amovibles tels que la mémoire USB chevauchent également quelque peu la frontière entre le lecteur de stockage et le stockage d'archives.

Types de cache disque

Un cache de disque fait référence à tout cache sur un « disque », c'est-à-dire des lecteurs de stockage tels que des disques SSD et des disques durs. Il existe trois types de cache disque. Le cache de lecture impliquerait de copier temporairement certaines données du stockage d'archives pour accélérer l'accès en cas de besoin. Un cache en écriture peut prendre la forme d'un cache SLC sur un SSD. Un cache d'E / S serait généralement une mémoire flash ou une DRAM utilisée pour mettre en cache les opérations de lecture et d'écriture. La caractéristique déterminante de tout cela est que le cache se trouve sur le disque lui-même.

Lire le cache du disque

La version de cache de lecture d'un cache disque est probablement le type de cache disque le moins utilisé. L'archivage, par sa définition même, est rarement nécessaire. Les données peuvent également être lues directement à partir de supports d'archives. Le problème est la vitesse. Le temps d'accès est lent car les données sont hors ligne, ce qui nécessite l'identification et la connexion d'un périphérique de stockage approprié. Les vitesses de lecture dépendent du support d'archivage mais seront généralement suffisantes dans la plupart des cas. Mais peut ne pas être idéal pour les exigences de bande passante élevées telles que la visualisation de vidéos haute définition. Dans ces scénarios, un cache de disque de lecture peut être utilisé pour mettre en cache une copie du fichier vidéo sur un support de stockage qui peut le lire en temps réel.

Écrire le cache du disque

Les SSD modernes sont extrêmement rapides, offrant des vitesses de lecture et d'écriture incroyablement rapides. Ce que vous ne réalisez peut-être pas, c'est que ce n'est pas techniquement vrai. La plupart des SSD sur le marché sont des TLC, alias Triple Layer Cells. Cela signifie que chaque cellule mémoire peut stocker trois bits de données. Bien que cela offre trois fois la densité de stockage des SLC bruts (cellules à couche unique) avec un bit par cellule, c'est aussi beaucoup plus lent.

Conseil: Le flash TLC est toujours rapide. Il est plusieurs fois plus rapide que la bande passante maximale du bus SATA 3 utilisé par les disques durs et les premiers SSD. Le flash QLC ou les cellules à quatre niveaux sont encore plus lents, dans certains tests, ils fonctionnent en fait plus lentement que les disques durs.

Le cache SLC a été inventé pour masquer les vitesses d'écriture lentes à l'utilisateur. Le cache SLC traite simplement le flash TLC comme un flash SLC, lui permettant de fonctionner à des vitesses accrues. Les données écrites dans le cache SLC sont ensuite copiées en interne au format TLC aussi rapidement que le permettent les vitesses d'écriture. Cette technique fonctionne parfaitement, offrant des débits croissants qui ont nécessité le développement de nouveaux standards plus rapides.

Les caches SLC, cependant, ont quelques mises en garde. La taille du cache SLC correspond à 1/3 de l'espace libre restant du SSD. Au fur et à mesure que le SSD se remplit, la taille du cache SLC diminue. Ce n'est pas vraiment un problème sur les grands disques vides, mais peut être sur un SSD plus petit ou de capacité proche. Une fois le cache SLC rempli, l'utilisateur voit les vitesses d'écriture chuter considérablement lorsqu'il est exposé à la véritable vitesse d'écriture TLC.

Note: Techniquement, si des données doivent être écrites sur des supports d'archivage à l'avenir, tout disque de stockage pourrait être considéré comme un cache en écriture pour le support d'archivage. Cependant, cette signification ne serait généralement pas supposée.

Cache disque d'E/S

Les disques durs sont généralement assez lents, même dans leurs charges de travail optimales. Pour aider à cacher cela autant que possible à l'utilisateur, un cache d'E/S peut être utilisé. Un cache d'E/S met en cache les opérations de lecture et d'écriture selon les besoins. Ce cache est généralement composé de mémoire Flash ou de DRAM dans le lecteur lui-même. Les capacités sont généralement faibles, bien que la classe SSHD ou Solid State Hybrid Drive qui comporte de la mémoire Flash offre des capacités plus considérables mais non comparables aux capacités SSD modernes.

La mise en cache des lectures signifie que le disque dur n'a pas à trouver puis à lire les données. Cela peut offrir d'excellents avantages en termes de performances, mais uniquement pour les opérations de lecture ultérieures. La première lecture est toujours lente. La mise en cache des écritures signifie que de petites opérations d'écriture peuvent être absorbées dans le cache, puis écrites sur le disque dur réel aussi rapidement que possible. Cela offre des vitesses plus rapides mais voit une baisse importante des performances si le cache est épuisé.

Un cache d'E/S doit soigneusement équilibrer les besoins des fonctions de lecture et d'écriture, en particulier lorsque seul un petit cache est disponible. Les caches plus grands annulent quelque peu ce problème, bien que les cas extrêmes avec de grands ensembles de données puissent toujours submerger le cache flash des plus grands SSHD.

Note: Techniquement, les SSD peuvent également utiliser leur DRAM intégrée comme cache d'E/S. Cependant, cela est généralement principalement ou exclusivement utilisé pour stocker la table de traduction d'adresses logiques vers physiques utilisée pour trouver des données sur le SSD.

Conclusion

Un cache disque est un cache qui existe directement sur un lecteur de stockage. Il peut prendre la forme d'un cache de lecture ou d'écriture ou d'un cache d'E/S. Les caches de lecture mettent généralement en cache les données d'un stockage d'archivage plus lent. Les caches d'écriture cachent les vitesses d'écriture lentes des disques de stockage à l'utilisateur. Les caches d'E/S masquent les vitesses de lecture et d'écriture lentes à l'utilisateur.

Les caches sont d'excellents outils d'utilisation, mais peuvent causer des maux de tête aux utilisateurs lorsqu'ils sont épuisés. Cela est particulièrement vrai pour les caches d'écriture dynamiques tels que le cache SLC. Comme les utilisateurs non techniques peuvent ne pas comprendre pourquoi leurs vitesses d'écriture sont si lentes et donc incapables de les résoudre en résolvant les problèmes de capacité.