Brevet FR3066842A1 (20181130)

REVENDICATIONS1. Un dispositif mémoire comprenant un ou plusieurs bancs (126), chaque banc comprenant plusieurs rangs de mémoire, le dispositif mémoire comprenant par ailleurs : un port d'accès externe (121) configuré pour permettre à un contrôleur de mémoire externe (111) d'activer, puis d'accéder, aux rangs mémoire de chaque banc ; un ou plusieurs processeurs internes (122) capables d'activer, puis d'accéder, aux rangs mémoire de chaque banc ; une logique de détection de déclenchement du Row Hammer (123) configuré pour surveiller, pour chaque banc, les commandes d'activation émises par le contrôleur de mémoire externe et par un ou plusieurs Processeurs internes, la logique de détection du déclenchement du Row Hammer comprenant de la mémoire mémorisant : une ou plusieurs tables indiquant, pour chaque rang d'un sous- ensemble de rangs de chaque banc, une valeur de comptage basée sur le nombre de commandes d'activation visant le rang, dans lequel le sous-ensemble de rangs associés à la valeur de comptage dans l'une ou plusieurs tables est dynamiquement variable pour indiquer les rangs les plus fréquemment activés basée sur une détection des commandes d'activation visant chaque rang de chaque banc ; une valeur de comptage supplémentaire indiquant le nombre maximum de commandes d'activation qui pourraient avoir visé n'importe quel rang ne faisant pas partie dudit sous-ensemble de rangs ; et dans lequel la logique de détection de déclenchement du Row Hammer est configurée pour comparer de chacune desdites valeurs de comptage avec un niveau de seuil afin d'identifier un ou plusieurs rangs dans le sous-ensemble de rangs, et de déclencher une opération de rafraîchissement d'un ou plusieurs rangs adjacents à chaque rang identifié. 3066842 B 16077FR 20\n<CLM>\1\tLe dispositif mémoire de la revendication 1, dans lequel une ou plusieurs tables comprennent une entrée associée avec chaque rang du sous-ensemble de rangs, chaque entrée comprenant ladite valeur de comptage, dans laquelle le nombre d'entrées de ladite où desdites tables est inférieur au centième du nombre de rangs de 5 chaque banc.\n<CLM>\1\tLe dispositif mémoire de la revendication 1 ou 2, comprenant par ailleurs une logique d'envoi de rafraîchissement préventif (124) configurée pour implémenter une opération de rafraîchissement pour l'un ou plusieurs des rangs adjacents de chaque rang identifié en émettant des requêtes de rafraîchissement à la place des requêtes de 10 rafraîchissement périodique générées par le contrôleur mémoire externe, retardant ce faisant une ou plusieurs desdites requêtes de rafraîchissement périodique.\n<CLM>\1\tLe dispositif mémoire de la revendication 3, dans lequel la durée de laquelle lesdites requêtes de rafraîchissement périodique sont retardées n'excède pas une durée maximum qui permette à chaque mémoire de retenir correctement ses données dans 15 le temps.\n<CLM>\1\tLe dispositif mémoire de la revendication 3 ou 4, dans lequel la logique d'envoi de rafraîchissement préventif comprend une mémoire (FIFO) stockant, pour chaque rang identifié, une indication de l'un ou plusieurs rangs adjacents à rafraîchir.\n<CLM>\1\tLe dispositif mémoire de la revendication 1 ou 2, dans lequel un protocole externe 20 utilisé par le contrôleur de mémoire externe permet aux dispositifs mémoire de prendre l'initiative de générer des rafraîchissements.\n<CLM>\1\tLe dispositif mémoire de n'importe quel des revendications 1 à 6, dans lequel la logique de détection de déclenchement du Row Hammer est configurée, après chaque commande d'activation émise par le contrôleur de mémoire externe ou par un des 25 processeurs internes, pour : - modifier la valeur de comptage associée au rang visé par la commande d'activation si le rang visé fait partie du sous-ensemble de rangs; et - remplacer une entrée dans une ou plusieurs tables par une entrée correspondant au rang visé par la commande d'activation si la valeur de comptage de cette entrée est 30 égale à la valeur de comptage supplémentaire; et 3066842 B 16077FR 21 - modifier la valeur de comptage supplémentaire si le rang visé ne fait pas partie du sous-ensemble de rangs et aucune des valeurs de comptage dans une ou plusieurs tables n'est égale à la valeur de comptage supplémentaire.\n<CLM>\1\tUne méthode de protection du dispositif mémoire de l'effet Row Hammer, le 5 dispositif mémoire comprenant un ou plusieurs bancs (126), chaque banc comprenant plusieurs rangs mémoire, la méthode comprenant : surveiller, par la logique de détection de déclenchement du Row Hammer (123) et pour chaque banc, les commandes d'activation de rang émises par le contrôleur de mémoire externe et par un ou plusieurs processeurs internes du 10 dispositif mémoire, chaque commande d'activation de rang causant au rang dudit banc d'être activé avant d'être accédé par le contrôleur mémoire externe ou par un ou plusieurs processeurs internes ; stocker, par la logique de détection de déclenchement du Row Hammer, une ou plusieurs tables indiquant pour chaque rang d'un sous-ensemble de rangs 15 de chaque banc, une valeur de comptage basée sur le nombre de commandes d'activation visant le rang, dans lequel le sous-ensemble de rangs associé à une valeur de comptage dans une ou plusieurs tables est dynamiquement variable pour indiquer les rangs les plus fréquemment activés basée sur la détection des commandes d'activation visant chaque rang de chaque banc; 20 mémoriser, par la logique de détection de déclenchement du Row Hammer, une valeur de comptage supplémentaire indiquant le nombre maximum de commandes d'activations qui ont pu viser n'importe quel rang ne faisant pas partie dudit sous-ensembles de rangs ; comparer, par la logique de détection de déclenchement du Row Hammer, 25 chacune des valeurs de comptage avec un niveau de seuil afin d'identifier un ou plusieurs rangs dans une ou plusieurs tables ; et déclencher, par la logique de détection de déclenchement du Row Hammer, une opération de rafraîchissement d'un ou plusieurs rangs adjacents au rang identifié. 30\n<CLM>\1\tLa méthode de la revendication 8, comprenant par ailleurs l'implémentation, par la logique d'envoi de rafraîchissement préventif (124), d'une opération de 3066842 B 16077FR 22 rafraîchissement pour un ou plusieurs rangs adjacents de chaque rang identifié en émettant des requêtes de rafraîchissement à la place des requêtes de rafraîchissement périodique générées par le contrôleur de mémoire externe, retardant ce faisant un ou plusieurs desdites requêtes de rafraîchissement périodique. 5\n<CLM>\1\tLa méthode de la revendication 8 ou 9, comprenant par ailleurs : après chaque commande d'activation émise par le contrôleur de mémoire externe ou par l'un des processeurs internes : - modifier la valeur de comptage associée au rang visé par la commande d'activation si le rang visé fait partie du sous-ensemble de rang ; et 10 - remplacer une entrée dans une ou plusieurs tables par une entrée correspondant au rang visé par la commande d'activation si la valeur de comptage de cette entrée est égale à la valeur supplémentaire de comptage ; et - modifier la valeur de comptage supplémentaire si le rang visé ne fait pas partie du sous-ensemble de rangs et aucune des valeurs de comptage dans une ou plusieurs 15 tables de n'est égale à la valeur de comptage supplémentaire.