Brevet FR3072494A1 (20190419)

REVENDICATIONS1. Procédé pour contrôler le rafraichissement de données dans des mémoires non-volatiles reprogrammables, lesdites mémoires comprenant une pluralité de pages mémoire pour stocker des données, le procédé comprenant les étapes suivantes : - calculer le nombre d'erreurs de rétention et d'erreurs de non-rétention dans au moins une page mémoire; - calculer l'âge de rétention de ladite au moins une page mémoire ; - estimer le temps de rétention restant pour ladite page en fonction des paramètres précédemment calculés ; et - déterminer si la page doit être rafraichie ou non en fonction de la valeur estimée du temps de rétention restant.\n<CLM>\1\tLe procédé selon la revendication 1 dans lequel l'étape de détermination du rafraichissement de la page consiste à comparer la valeur estimée du temps de rétention restant à une valeur prédéfinie, ladite valeur prédéfinie correspondant à un intervalle de temps maximum jusqu'au prochain accès à ladite page, et à rafraichir la page si le temps de rétention restant est plus petit que la valeur prédéfinie.\n<CLM>\1\tLe procédé selon la revendication 1 ou 2 dans lequel l'étape d'estimation du temps de rétention restant comprend au moins une étape consistant à utiliser une loi statistique avec les paramètres de nombre d'erreurs de rétention, de nombre d'erreurs de non-rétention et d'âge de rétention. 22\n<CLM>\1\tLe procédé selon la revendication 3 dans lequel la loi statistique est la loi du khi-carré x2. 5\n<CLM>\1\tLe procédé selon l'une quelconque des revendications 1 à 4 dans lequel l'étape d'estimation du temps de rétention restant comprend au moins une étape consistant à obtenir une valeur d'un nombre d'erreurs de rétention maximum toléré pour ladite page, et l'étape de détermination du rafraichissement comprend 10 au moins une étape consistant à comparer le nombre d'erreurs de rétention maximum toléré au nombre d'erreurs de rétention calculé et à rafraichir la page si le nombre d'erreurs de rétention calculé est supérieur au nombre d'erreurs de rétention maximum toléré. 15\n<CLM>\1\tLe procédé selon la revendication 5 dans lequel le nombre d'erreurs de rétention maximum toléré correspond à la plus grande valeur du nombre d'erreurs de rétention pour laquelle le temps de rétention restant est plus grand que ladite valeur 20 prédéfinie.\n<CLM>\1\tLe procédé selon l'une quelconque des revendications 1 à 4 dans lequel l'étape d'estimation du temps de rétention restant comprend au moins une étape consistant à obtenir une valeur 25 d'un âge de rétention minimum toléré pour ladite page, et l'étape de détermination du rafraichissement comprend au moins une étape consistant à comparer l'âge de rétention minimum toléré à l'âge de rétention calculé et à rafraichir la page si l'âge de rétention calculé est inférieur à l'âge de rétention minimum toléré. 23\n<CLM>\1\tLe procédé selon la revendication 7 dans lequel l'âge de rétention minimum toléré correspond au plus petit âge de rétention pour lequel le temps de rétention restant est plus grand 5 que ladite valeur prédéfinie.\n<CLM>\1\tLe procédé selon l'une quelconque des revendications 1 à 8 dans lequel l'étape d'estimation du temps de rétention restant comprend au moins une étape consistant à lire une table de 10 valeurs précalculées pour des combinaisons de paramètres de nombre d'erreurs de rétention, de nombre d'erreurs de non-rétention et d'âge de rétention, et consistant à sélectionner une valeur stockée pour le nombre d'erreurs de rétention, le nombre d'erreurs de non-rétention et l'âge de rétention calculés pour 15 ladite page.\n<CLM>\1\tLe procédé selon la revendication 9 dans lequel la valeur sélectionnée est un temps de rétention restant. 20\n<CLM>\1\tLe procédé selon la revendication 9 dans lequel la valeur sélectionnée est un nombre d'erreur de rétention maximum toléré.\n<CLM>\1\tLe procédé selon la revendication 9 dans lequel la valeur 25 sélectionnée est un âge de rétention minimum toléré.\n<CLM>\1\tLe procédé selon la revendication 9 dans lequel la table de valeurs précalculées contient des valeurs binaires 24 représentatives de résultats de la comparaison de temps de rétention restant avec ladite valeur prédéfinie, ou de résultats de la comparaison de nombre d'erreurs de rétention avec le nombre d'erreurs de rétention maximum toléré, ou de résultats de la 5 comparaison d'âge de rétention avec l'âge de rétention minimum toléré.\n<CLM>\1\tLe procédé selon l'une quelconque des revendications 1 à 13 dans lequel l'étape de calculer l'âge de rétention de ladite au 10 moins une page mémoire consiste à lire une étiquette de temps associée à ladite page et à faire la différence entre l'état d'un compteur ayant fourni des étiquettes de temps aux pages mémoire et l'étiquette de temps lue. 15\n<CLM>\1\tLe procédé selon l'une quelconque des revendications 1 à 14 dans lequel l'étape de calculer le nombre d'erreurs de rétention et le nombre d'erreurs de non-rétention comprend au moins des étapes consistant à détecter les erreurs dans ladite page, corriger les erreurs selon la capacité d'un code correcteur 20 d'erreur et à déterminer les erreurs de non-rétention en comparant les valeurs lues et les valeurs corrigées.\n<CLM>\1\tUn dispositif pour contrôler le rafraichissement de données dans des mémoires non-volatiles reprogrammables, lesdites mémoires 25 comprenant une pluralité de pages mémoire pour stocker des données, le dispositif comprenant : - un circuit apte à calculer le nombre d'erreurs de rétention et d'erreurs de non-rétention dans au moins une page mémoire; 25 - un circuit apte à calculer l'âge de rétention de ladite au moins une page mémoire ; - un circuit apte à estimer le temps de rétention restant pour ladite page en fonction des paramètres précédemment 5 calculés ; et - un circuit apte à déterminer si la page doit être rafraichie ou non en fonction de la valeur estimée du temps de rétention restant. 10\n<CLM>\1\tLe dispositif selon la revendication 16 comprenant de plus un circuit apte à rafraichir ladite page.\n<CLM>\1\tLe dispositif selon la revendication 16 ou 17 comprenant des moyens pour mettre en oeuvre le procédé selon l'une quelconque 15 des revendications 2 à\n<CLM>\1\t19. Un système de stockage de données comprenant au moins une mémoire non-volatile reprogrammable ayant une pluralité de pages mémoire pour stocker des données, et au moins un 20 dispositif pour contrôler le rafraichissement de données dans ladite au moins une mémoire non-volatile reprogrammable, ledit au moins un dispositif comprenant des moyens pour mettre en oeuvre les étapes du procédé selon l'une quelconque des revendications 1 à\n<CLM>\1\t25\n<CLM>\1\tLe système stockage de données selon la revendication 16 dans lequel ledit au moins un dispositif comprenant des moyens pour mettre en oeuvre les étapes du procédé selon l'une quelconque des revendications 1 à 15 est intégré à un contrôleur apte à 26 gérer les opérations de lecture et écriture de la pluralité des pages.\n<CLM>\1\tProgramme d'ordinateur comportant des instructions pour 5 l'exécution du procédé pour contrôler le rafraichissement de données dans des mémoires non-volatiles reprogrammables selon l'une quelconque des revendications 1 à 15, lorsque le programme est exécuté par un processeur. 10\n<CLM>\1\tSupport d'enregistrement lisible par un processeur sur lequel est enregistré un programme comportant des instructions pour l'exécution du procédé pour contrôler le rafraichissement de données dans des mémoires non-volatiles reprogrammables selon l'une quelconque des revendications 1 à 15, lorsque le 15 programme est exécuté par le processeur. 20