On Sun, 10 Nov 2002, Leopoldo Ghielmetti wrote:

> Il 19:20, sabato 09 novembre 2002, Yann Souchon ha scritto:

[ je profite de la concat�nation int�grale pour r�pondre � ce que
  je n'ai pas encore r�pondu
]

> > Ne connaissant pas du tout ce soft, je l'ai lanc� et il y a beaucoup
> > d'options. Pourrais-tu m'indiquer o� est-ce que je peux savoir si
> > l'auto-remplacement des bad-blocks est activ� ? Idem pour le report
> > d'erreurs si �a te d�range pas.

Rapidement: (de m�moire)

   AWRE   si � 1, remplacement automatique lors d'une �criture et d'une
          erreur, sans perte de donn�es

   ARRE   si � 1, remplacement automatique lors d'une lecture si erreur
          *corrig�e* (par ECC, code correcteur � 24 bytes/512 bytes sauf
          erreur chez IBM, mais hors du standard SCSI SDD).

   PER    si pas � 1, reporte les erreurs d�tect�es. On peut aussi choisir
          si les erreurs r�cup�r�es sont �galement transmises: si l'OS
          est d�fectueux il vaut mieux ne pas le faire. Linux reconna�t
          correctement depuis 2.0.35 (au moins) les erreurs corrig�es.
          Mettre ce bit � 1 rend le syst�me dangereux vu que des donn�es
          erron�es peuvent �tre transmises: utile cependant dans le cas
          de streaming multim�dia ou audio, pour lesquels la bande
          passante et la latence (d�lais de r�-essais, correction, etc)
          sont plus importantes que l'int�grit� d'une image sur 24 ou
          d'un sample sur 44000.

J'ajoute que SCSI d�finit des codes d'erreur:
   /usr/include/scsi/scsi.h

Il y en a toujours 3 (classe, erreur, qualificateur) ensemble, avec en
plus un indicateur d'imm�diatet� (erreur actuelle, ou plus ancienne li�e �
un cache, voire li�e � une transaction multiple donn�e (command queuing)).
Il y a aussi des informations sp�cifiques � l'erreur: num�ro de bloc;
taille des donn�es quand m�me lisibles; autres informations.

#define NO_SENSE            0x00
#define RECOVERED_ERROR     0x01
#define NOT_READY           0x02
#define MEDIUM_ERROR        0x03
#define HARDWARE_ERROR      0x04
#define ILLEGAL_REQUEST     0x05
#define UNIT_ATTENTION      0x06
#define DATA_PROTECT        0x07
#define BLANK_CHECK         0x08
#define COPY_ABORTED        0x0a
#define ABORTED_COMMAND     0x0b
#define VOLUME_OVERFLOW     0x0d
#define MISCOMPARE          0x0e

Les erreurs de classe RECOVERED_ERROR sont � logger mais � ignorer
autrement. Les erreurs 3 et 4 sont des erreurs mat�rielles li�es � des
blocks particulier ou au m�chanisme g�n�ral, respectivement.

Exemple pratique:

   0x05 0x3B 0x0D

      ILLEGAL REQUEST
      MEDIUM DESTINATION ELEMENT FULL

est l'erreur retourn�e dans un changeur de cassette ou de CD si le slot
sp�cifi� pour p.ex. une insertion est d�j� plein.

Les erreurs de classe 0xB indiquent bien souvent des erreurs de c�blage. 

Le kernel Linux peut �tre compil� pour interpr�ter ces valeurs: c'est
tangent d'ailleurs et il serait mieux de toujours donner les valeurs
num�riques car certaines sont sp�cifiques au mat�riel utilis� (voir la
documentation constructeur -- il est vrai que ce genre de choses est de
plus en plus rare: mon premier lecteur DDS avait 130 pages de
documentation SCSI; le dernier aucune page. Evidemment, vu que 95% des
sp�cialistes d'informatique usuels ne lisent jamais aucune documentation
avant d'appeler le support technique, je comprends l'�conomie en arbres).

Ne jouer avec cela que si l'on a compris ce qu'il y a derri�re. 

Plus de d�tails notamment dans le SCSI-Programming HOWTO ou dans le
standard SCSI, dont la version 2 (tr�s lisible et compr�hensible) doit
�tre sur Internet, et la version 3 (tr�s standardis�e donc complexe) est
sur http://www.scsita.org/.

Le protocole SCSI est un protocole d'avenir: m�me si le SPI (SCSI Parallel
Interface) va probablement gentiment dispara�tre, le SCSI en tant que
protocole de haut niveau, vu qu'il est impl�ment� dans le haut de gamme
comme Fibre Channel, ou dans le bas de gamme comme IDE r�cent et USB
storage, notamment, va rester en tant que protocole de r�f�rence pour le
stockage. Un investissement en temps dans ce domaine vaut donc la peine.
 
> > Poss�dant une Tekram, j'ai pu faire le test. Aucune erreur n'est d�tect�e.

Pour information, Tekram a produit divers contr�leurs:

   - ceux bas�s sur les chips NCR/SYM 53c8xx

        - excellents chips, tr�s performants et tr�s bon march�s.
        - une grande partie du processing se fait via un processeur
          interne programmable
        - achetables s�par�ment (on peut faire sa propre carte PCI
          pour moins de 60.-). Symbios Logic est tr�s lib�ral avec
          la documentation (�tait en tous cas: on re�oit toute la
          documentation avec des exemples target/initiator gratuitement
          et sur simple demande, sans NDA).
        - sous Linux le pilote usuel sym53c8xx fonctionne tr�s bien.

   - ceux bas�s sur les chips FPGA sp�cifiques � Tekram

        - meilleurs march�s
        - propri�taires
        - pilote �crit par SuSE, de tr�s bonne qualit� si l'on consid�re
          sa grande complexit� due au mat�riel plus simple et moins
          ind�pendant.
        - moins performants

Inutile de dire que je recommande les premiers (mais c'est clair que vu le
marketing stupide de SCSI, les anciens chips SYM moins performants que les
nouveaux mais plus que les sp�cifiques de Tekram ne sont plus d�pos�s sur
des cartes: on a donc un rapport 3x ou 4x entre les prix Tekram/SYM et
Tekram/FPGA).


--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se d�sabonner aussi.

Répondre à