Gestion des bad blocks
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Gestion des bad blocks



  1. #1
    Toufinet

    Gestion des bad blocks


    ------

    Hello,

    J'utilise une flash nand, avec ECC intégré : https://www.micron.com/~/media/Docum...a_1gb_nand.pdf

    Lorsqu'on écrit une page, un status bit indique si ça c'est bien passé ou pas.
    Quand on lit une page, un status bit indique si le correcteur ECC a atteint sa limite, ou (pire) s'il n'a pas pu corriger les erreurs.

    A partir de quand doit-on déclarer un block comme étant un "bad block" ?

    Si je lis une page sans erreur, et que le correcteur ECC a corrigé tout ce qu'il pouvait, je fais quoi ? Je copie la page sur un autre block et je déclare ce précédent block en "bad block" ?
    Si j'écris une page et que ça c'est pas bien passé, je réessaie ? Combien de fois ? A partir de quand je décide de dire que c'est un bad block ?

    Merci pour votre aide et retour d'expériences à ce sujet

    -----

  2. #2
    jiherve

    Re : Gestion des bad blocks

    Bonjour,
    une doc :http://www.micron.com/~/media/Docume...nand_flash.pdf.
    et un autre :
    http://www.micron.com/~/media/Docume...ash/tn2917.pdf
    il vaut mieux utiliser un HDD standard c'est même écrit:
    NAND Flash Not Always a Hard Drive Replacement .....
    à lire impérativement, et je crois avoir déjà donné le lien sur ce papier il y a quelques années déjà.
    JR
    l'électronique c'est pas du vaudou!

  3. #3
    Toufinet

    Re : Gestion des bad blocks

    Merci Jiherve, mais :
    - la première doc, que je connais, ne répond pas aux questions posées
    - la remarque sur les HDD répond encore moins aux questions posées.

  4. #4
    jiherve

    Re : Gestion des bad blocks

    Bonsoir,
    Il y a tout de même une explication sur la façon dont les bad blocks sont détectés en usine, tu auras noté que c'est par des cycles effacement/prog pas en lecture seule.
    N'ayant pas pris le temps de parcourir toute la doc je ne sais pas s'il n'y a pas un registre donnant le taux d'erreur en lecture par bloc ou page.
    Ce qu'il faut savoir c'est que en fonction du type d'EDC utilisé on pourra détecter et corriger un nombre d'erreurs variable par mots ou blocs, tant que le nombre d'erreur est inférieur à la possibilité du correcteur tout baigne mais un seul bit foireux en plus et c'est mort.
    C'est aussi ce qui se passe avec un CD ou HDD cela corrige jusqu'au moment ou cela n'est plus possible, mais ici il y a des signes avant coureur, cela rame!
    Donc disposes tu de cette information?
    Si tu ne l'as pas le second doc explique comment minimiser l'impact des erreurs.
    la Nand c'est vraiment super cela s'use même si tu n'en fait rien!
    JR
    l'électronique c'est pas du vaudou!

  5. A voir en vidéo sur Futura
  6. #5
    Toufinet

    Re : Gestion des bad blocks

    re-salut,

    Je connais bien les différentes technos, et je connais les raisons de mon choix d'utilisation de la flash nand.

    Ce que je connais moins, et ce que (malheureusement) personne n'indique clairement, c'est comment gérer dans la pratique les bad blocks.

    C'est bien beau de dire "quand ton ECC n'est plus suffisant, considère le block comme étant un 'bad block'". Mais quand l'ECC te corrige 4 erreurs sur 4, tu fais quoi ? Tu attend la prochaine lecture pour ne plus pourvoir récupérer les données écrites ?

    Dans les docs, ils disent :
    "Si quand tu lis un block, que le ECC ne peut pas corriger, recopie les données ailleurs".

    Comment peux-tu recopier les données alors que tu ne peux pas les lire ?

    Merci pour tes interventions Jiherve, mais je ne suis pas dans la théorie, mais bel et bien dans la pratique ... C'est pourquoi j'ai posé des questions très "pratiques".
    Toute réponse théorique ne me conviendra pas ... car la théorie, je la connais.
    Dernière modification par Toufinet ; 31/10/2012 à 23h52.

  7. #6
    bertrandbd

    Re : Gestion des bad blocks

    Bonjour

    A ta place, voilà ce que je ferais si les données sauvegardées étaient précieuses. Lorsque tu commences à avoir des erreurs ECC sur un bloc de données, tu le copies en RAM et tu l'écris à nouveau sur le même secteur après l'avoir effacé. En le relisant, si l'erreur ECC persiste alors il faut condamner le bloc et recopier le données en RAM sur un autre bloc. Si l'erreur disparait, alors tu peux considérer que le bloc est bon ou si tu es puriste mettre en place des statistiques pour condamner un bloc qui présente souvent des erreurs ECC.

    A+
    Dernière modification par bertrandbd ; 01/11/2012 à 07h51.

  8. #7
    jiherve

    Re : Gestion des bad blocks

    Bonjour,
    L'idée de Bertrand est pertinente si l'on dispose d'une liste donnant le nombre d'erreurs par bloc à l'achat des mémoires, car si le fabricant tague les blocs totalement inutilisables il y a fort à parier que ceux que l'ECC peut "traiter" ne sont pas déclarés mauvais car cela serait une aberration économique (chez certains fabricant il existe plusieurs grade/saveur de mémoire suivant ce paramètre).
    Donc répondre de façon pratique à ta question demande la connaissance du nombre d'erreur maximum que sait corriger l'ECC (c'est très variable, un bête Hamming c'est détection 2 correction 1, un Reed Solomon un peu gourmand (50% de la mémoire) peut faire 16/64 ....),le nombre d'erreur par blocs à l'origine, le nombre d'erreur instantanées corrigées lors d'un accès et l'examen de l’évolution de la différence de ces nombres vis a vis du premier serait un critère de gestion.
    Est ce que cette approche qui suppose une évolution linéaire dans le temps du nombre d'erreurs est justifiée, je n'en sais rien car on oublie là les effets des SEU qui sont pourtant bel et bien présents sur ces composants deep sub micron , là rien à faire car plusieurs bits (nombre dépendant de la techno mémoire) peuvent flipper d'un coup.
    Ma réponse reste théorique car je n'ai jamais eu à traiter ce sujet, car à cause de l’existence de ce problème nous utilisons toujours des flash NOR plus petites mais plus fiables.
    JR
    Dernière modification par jiherve ; 01/11/2012 à 11h44.
    l'électronique c'est pas du vaudou!

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/11/2009, 22h23
  2. Flash NAND => Bad blocks
    Par Toufinet dans le forum Électronique
    Réponses: 12
    Dernier message: 28/08/2009, 11h25
  3. Flash Nand et gestion des bad blocks
    Par invite310188ab dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 06/08/2009, 15h16
  4. modifier la taille des blocks d'une iso
    Par invite45a5c0d5 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 20/10/2007, 13h26
  5. Des Sciences de Gestion, ou de la Science appliquée aux Arts de gestion ?²
    Par invite5ecc4617 dans le forum [ARCHIVE] Psychologie / Sociologie
    Réponses: 3
    Dernier message: 06/01/2005, 19h42
Découvrez nos comparatifs produits sur l'informatique et les technologies.