ECC sur les disques durs


0

J'ai complètement réécrit mon post ici car j'ai remarqué que j'étais un peu flou auparavant.

Dans une publication plus ancienne, l'utilisateur sawdust a très bien expliqué qu'il existe un tampon SRAM sur le contrôleur de disque dur qui utilise un algorithme ECC.

Je ne sais pas si la somme de contrôle ECC de la mémoire tampon SRAM est également écrite sur les disques ou si elle vise uniquement à éviter que des erreurs sur un seul bit se produisent dans la mémoire SRAM.

Mais qu'en est-il de la mémoire cache? Tous les lecteurs de disque dur actuels utilisent un cache DRAM de 64 Mo, voire 128 Mo. Il s'agit d'une puce DRAM unique sur le circuit imprimé de chaque disque dur et toutes les données doivent la traverser. De telles mémoires DRAM présentent parfois des erreurs sur un bit et souffrent également du vieillissement. Si les données de la mémoire cache DRAM ont une erreur d'un seul bit, il semble n'y avoir aucune correction ECC ici, est-ce vrai?

Si le cache DRAM a provoqué une erreur sur un bit et que ces données sont ensuite acheminées vers la mémoire tampon SRAM, je suppose que la logique ECC crée désormais une somme de contrôle "pour les données incorrectes de la DRAM", mais ne peut pas le reconnaître. Erreur.

HP semble offrir un contrôle de parité supplémentaire de bout en bout que j'ai trouvé décrit ici: http://h20000.www2.hp.com/bc/docs/support/SupportManual/c01159621/c01159621.pdf La parité ne corrigerait pas, mais seulement détecter et éventuellement demander que les mêmes données soient transférées à nouveau. Une erreur DRAM permanente entraînerait des demandes répétées de transfert de données. Ne serait-il pas beaucoup plus sûr d’avoir le cache DRAM avec ECC?

Cordialement, Tommy


Cela aiderait beaucoup de faire référence à la question initiale avec un lien, afin que nous sachions de quoi vous parlez
Journeyman Geek

Voici le lien vers l'article plus ancien: superuser.com/questions/350582/…
Tommy Volt

1
Le code ECC que je décrivais concerne uniquement le secteur du disque. Le code ECC est calculé à l'aide d'un code de Hamming et écrit avec les données de secteur pour détecter et corriger les erreurs de support. L'opération de lecture de secteur extrait les données de secteur avec ECC. Le code ECC est ensuite utilisé pour détecter et corriger jusqu'à 11 bits en une seule erreur en rafale. ECC n'est pas une somme de contrôle.
Sciure de bois

Ok, cela signifie donc que le cache DRAM lui-même constitue un risque potentiel, car les DRAM ont parfois des erreurs sur un bit, en particulier dans les systèmes à forte utilisation. Et quand il y a un mauvais bit dans le cache, alors ces données incorrectes vont dans la mémoire tampon de secteur où un code de Hamming est généré "pour les mauvaises données" et ensuite écrit dans le secteur. Cela me semble essentiel.
Tommy Volt
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.