Brevet FR3130412A1 — publié le 20230616

L’invention concerne un Dispositif mémoire qui comprend : - un tableau de mémoire pourvu de n rangs de mémoire, chaque rang i étant susceptible d’exercer un martelage de rang de portée p; - un bloc de prévention de l’effet de martelage qui comprend des moyens de comptage mettant en œuvre m compteurs de martelage, chaque compteur k étant associé à un ou plusieurs des rangs i, et est configuré pour incrémenter un comptage k d’une valeur d’incrément k N , la valeur d’incrément k N étant une fonction décroissante de la durée T PN et également fonction de la durée T AN , la valeur d’incrément k N quantifiant l’effet de martelage de l’un ou plusieurs des rangs i sur des rangs j à portée de martelage ; - un bloc de rafraîchissement de rang configuré pour rafraîchir un ou plusieurs rangs dès lors qu’un comptage k atteint une valeur seuil M. Figure 1 Dispositif mémoire DRAM mettant un œuvre un mécanisme de gestion du martelage de rang DOMAINE DE L’INVENTION La présente invention concerne le domaine des mémoires, et notamment le domaine des mémoires à accès aléatoire dynamique. En particulier, la présente invention porte sur la gestion de l’effet de martelage de rang de mémoire (« Row Hammer » selon la terminologie anglo-Saxonne). A cet égard, la présente invention propose une architecture d’un dispositif mémoire permettant de gérer et prévenir l’effet de martelage de rang de mémoire pour des dispositifs mémoire de grande capacité sans pénaliser les performances desdits dispositifs. ARRIERE PLAN TECHNOLOGIQUE DE L’INVENTION L’effet de martelage de rang (« Row Hammer » selon la terminologie Anglo-Saxonne) dans les mémoires à accès aléatoire dynamique (« DRAM » ou « Dynamic Random Access Memory » selon la terminologie Anglo-Saxonne) est bien connu de l’homme du métier. Cet effet trouve son origine dans l’activation répétée d’un rang d’un banc d’une mémoire DRAM. Plus particulièrement, lorsque le nombre d’activations d’un rang donné, dit « rang agresseur », dépasse une valeur critique de martelage, les rangs qui lui sont immédiatement adjacents, dits « rangs victimes », voient certains de leurs bits inversées. Afin de prévenir l’effet de martelage de rang, il peut être envisagé, avant qu’un rang devienne agresseur, de rafraichir les deux rangs victimes adjacents selon une procédure de rafraîchissement préventif. Une telle procédure de rafraîchissement préventif est, à cet égard, décrite dans le document FR 3066842. Ce document divulgue notamment un dispositif mémoire pourvu d’une logique de détection du déclenchement du martelage de rang. Cette logique de détection est configurée pour surveiller et/ou compter le nombre d’activations de chaque rang d’un banc ou d’un sous-banc du dispositif mémoire. Les données de comptage sont, à cet égard, mémorisées dans une ou plusieurs tables dont le nombre d’entrées est directement dépendant de la taille du dispositif mémoire (et notamment sa capacité). Ce dispositif mémoire connu de l’état de la technique est particulièrement performant dès lors que la valeur critique de martelage reste supérieure à 40000. Toutefois, l’augmentation de la capacité des dispositifs mémoire impose la considération de tables comprenant un plus grand nombre d’entrées, et par voie de conséquence, bien plus consommatrices de ressources. Par ailleurs, la seule considération d’un martelage de rang au niveau des rangs immédiatement adjacents au rang agresseur, telle que proposée dans le document FR 3066842 trouve ces limites lorsque le dispositif mémoire est fabriqué selon des géométries fines, et notamment selon des finesses inférieures à 20 nm. En effet, la considération de motifs ou de géométries plus fin(e)s conduit inéluctablement à augmenter la portée de l’effet de martelage de rang. Notamment, un rang agresseur d’indice « i » d’un banc ou d’un sous-banc de mémoire affectera non seulement les rangs qui lui sont immédiatement adjacents (d’indices « i-1 » et « i+1 »), mais également, et dans une moindre mesure, les rangs d’indices « i-k » et « i+k » (avec « k » entier strictement supérieur à 1). L’augmentation de la portée de l’effet de martelage a ainsi deux conséquences. Elle contribue, en premier lieu, à l’augmentation de la taille de tables susceptibles d’être considérées dans le document FR 3066842. En second lieu, elle impose des valeurs critiques de martelage bien inférieures à 40000, voire inférieures à 4800. Ces deux effets combinés affectent directement l’efficacité de la logique de détection du déclenchement du martelage de rang proposée dans ce documents. Afin de pallier ces problèmes, il a été proposé dans le document US 10,885,966 un autre algorithme de prévention de l’effet de martelage de rang. Ce dernier met également en œuvre des tables, et considère une portée de l’effet de martelage au-delà des rangs immédiatement adjacents à un rang agresseur. Plus particulièrement, l’algorithme proposé, afin de limiter les ressources nécessaires à sa mise en œuvre, surveille les activations au niveaux de sous-bancs. Cet algorithme, encore plus efficace que celui proposé dans le document FR 3066842, peut être amélioré pour certaines architectures de dispositifs mémoire. Notamment, cet algorithme est généralement mis en œuvre au moyen d’un bloc de mémoire à accès aléatoire statique (« SRAM » ou « Static Random Access Memory » selon la terminologie Anglo-Saxonne). De manière générale, les algorithmes de prévention de l’effet du martelage de rang décrits dans les documents FR 3066842 et US 10,885,966, mettent en œuvre un comptage des activations des rangs sans considérations relatives à la dynamique de mise en œuvre desdites activations. Cette stratégie, bien que simple à mettre en œuvre, fait donc abstraction d’un effet dynamique du martelage de rang, et notamment des paramètres temporels associés à l’activation d’un rang de mémoire donné. Un but de la présente invention est donc de proposer un dispositif mémoire pourvu de moyens de prévention de l’effet de martelage de rang optimisé au regard de solutions connues dans l’état de la technique. BREVE DESCRIPTION DE L’INVENTION Le but de l’invention est atteint par un dispositif mémoire DRAM qui comprend : - au moins un tableau de mémoire DRAM pourvu de n rangs de mémoire, dits rang i pour i allant de 1 à n, chaque rang i étant susceptible d’exercer un martelage de rang de portée p sur un ou plusieurs rangs j, dits à portée de martelage du rang i, avec j allant de i+1 à i+p et de i-1 à i-p, chaque rang i étant configuré pour se voir imposer en continu des cycles d’activation N, un cycle d’activation N comprenant une activation A N , d’une durée T AN , et une précharge P N , d’une durée T PN , précédant l’activation A N ; - un bloc logique de prévention de l’effet de martelage de rang qui comprend des moyens de comptage mettant en œuvre m compteurs de martelage, dits compteurs k, k allant de 1 à m, chaque compteur k étant associé à un ou plusieurs des rangs i, et est configuré pour incrémenter, après la fin de chaque cycle d’activation N de l’un ou plusieurs des rangs i auxquels il est associé, un comptage k d’une valeur d’incrément k N , la valeur d’incrément k N étant une fonction décroissante de la durée T PN et également fonction de la durée T AN , la valeur d’incrément k N quantifiant l’effet de martelage de l’un ou plusieurs des rangs i sur des rangs j à portée de martelage ; - un bloc logique de rafraîchissement de rang configuré pour rafraîchir un ou plusieurs rangs dès lors qu’un comptage k d’un des compteurs k associé atteint une valeur seuil M, la valeur seuil M étant choisie pour prévenir l’effet de martelage de rang. Selon un mode de mise en œuvre, la valeur d’incrément k N est une fonction croissante de la durée T AN . Selon un mode de mise en œuvre, le comptage k n’est incrémenté de la valeur d’incrément k N qu’après la fin de la précharge P N+1 du cycle d’activation N+1 suivant immédiatement l’activation A N du cycle d’activation N, la valeur d’incrément k N étant également une fonction décroissante d’une durée T P(N+1) de la précharge P N+1 . Selon un mode de mise en œuvre, l’ensemble de comptages k sont sauvegardés dans au moins une table. Selon un mode de mise en œuvre, le bloc logique de prévention de l’effet de martelage de rang est configuré pour mesurer, pour chaque cycle d’activation N, la durée T AN de chaque activation A N , et la durée T PN de chaque précharge P N . Selon un mode de mise en œuvre, l’au moins un tableau de mémoire DRAM forme un banc mémoire divisé en p sous-bancs, chaque sous-banc h, pour h allant de 1 à p, formant des sections contigües de rangs du banc mémoire, le nombre m de compteurs k est égal au nombre p de sous-bancs h de sorte que chaque compteur k, pour k allant de 1 à p, est associé à un sous-banc h, pour h allant de 1 à p, qui lui est propre. Selon un mode de mise en œuvre, le bloc logique de prévention de l’effet de martelage est configuré pour réinitialiser ou décrémenter le compteur k associé à un sous-banc h dès lors qu’au moins un rang dudit sous-banc k a été rafraîchis. Selon un mode de mise en œuvre, le nombre m de compteurs k est égal au nombre n de rangs mémoires de sorte que chaque compteur k, pour k allant de 1 à n, est associé à un rang i, pour i allant de 1 à n, qui lui est propre. Selon un mode de mise en œuvre, le bloc logique de rafraîchissement est également configuré pour réinitialiser ou décrémenter le compteur k dès lors que le rang, ou l’un des rangs, associé à ce compteur a été rafraichis. Selon un mode de mise en œuvre, le bloc logique de rafraîchissement est également configuré pour exécuter des rafraîchissements périodiques à intervalles de temps réguliers de l’ensemble des rangs mémoire. Selon un mode de mise en œuvre, la valeur d’incrément k N est la somme d’une première valeur d’incrément et d’une deuxième valeur d’incrément, la première valeur d’incrément étant fonction d’un délai entre l’activation N-1 du cycle d’activation N-1 et l’activation N du cycle d’activation N, la deuxième valeur d’incrément caractérisant la durée d’activation T AN , du cycle d’activation N. Selon un mode de mise en œuvre, la détermination de la première valeur et de la deuxième valeur fait intervenir, respectivement, une première table et une deuxième table. L’invention concerne également un procédé de prévention de l’effet de martelage de rang de mémoire d’un dispositif DRAM, le dispositif DRAM comprenant au moins un tableau de mémoire DRAM pourvu de n rang de mémoire dits rang i pour i allant de 1 à n, le procédé comprenant la mise en œuvre d’un algorithme de prévention de l’effet de martelage de rang, ledit algorithme mettant œuvre : - m compteurs de martelage, dits compteurs k, k allant de 1 à m, chaque compteur k étant associé à un ou plusieurs des rangs i, et est configuré pour incrémenter, après la fin de chaque cycle d’activation N de l’un ou plusieurs des rangs i auxquels il est associé, un comptage k d’une valeur d’incrément k N , la valeur d’incrément k N étant une fonction décroissante de la durée T PN et également fonction de la durée T AN , la valeur d’incrément k N quantifiant l’effet de martelage de l’un ou plusieurs des rangs i sur des rangs j à portée de martelage ; - un bloc logique de rafraîchissement de rang configuré pour rafraîchir un ou plusieurs rangs dès lors qu’un comptage k d’un des compteurs k associé atteint une valeur seuil M, la valeur seuil M étant choisie pour prévenir l’effet de martelage de rang. Selon un mode de mise en œuvre, la valeur d’incrément k N est une fonction croissante de la durée T AN . Selon un mode de mise en œuvre, l’algorithme met en œuvre les étapes suivantes : A/ la détermination de la durée T PN ; B/ la détermination de la durée T AN ; C/ sur la base des durées T PN et T AN , la détermination d’une valeur d’incrément k N d’un compteur k associé au rang i; D/ l’incrémentation du compteur k par la valeur d’incrément k N . ; E/ rafraîchir un ou plusieurs rangs i dès lors que le comptage k du compteur k associé auxdits un ou plusieurs rangs i atteint la valeur seuil M. L’étape E/ peut avantageusement être suivie d’une étape F/ de décrémentation ou de réinitialisation du comptage k du compteur k considéré. D’autres caractéristiques et avantages de l’invention ressortiront de la description détaillée qui va suivre en référence aux figures annexées sur lesquelles : La une représentation schématique d’un dispositif mémoire susceptible d’être mis en œuvre dans le cadre de la présente invention ; La est une représentation schématique d’une cellule mémoire DRAM susceptible d’être mise en œuvre dans le cadre de la présente invention ; La est une représentation diagrammatique de deux cycles d’activation N et N+1 successifs ; La une représentation schématique d’un banc de mémoire divisés en sous-bancs. Dispositif mémoire DRAM qui comprend : - au moins un tableau de mémoire DRAM pourvu de n rangs de mémoire, dits rang i pour i allant de 1 à n, chaque rang i étant susceptible d’exercer un martelage de rang de portée p sur un ou plusieurs rangs j, dits à portée de martelage du rang i, avec j allant de i+1 à i+p et de i-1 à i-p, chaque rang i étant configuré pour se voir imposer en continu des cycles d’activation N, un cycle d’activation N comprenant une activation A N , d’une durée T AN , et une précharge P N , d’une durée T PN , précédant l’activation A N ; - un bloc logique de prévention de l’effet de martelage de rang qui comprend des moyens de comptage mettant en œuvre m compteurs de martelage, dits compteurs k, k allant de 1 à m, chaque compteur k étant associé à un ou plusieurs des rangs i, et est configuré pour incrémenter, après la fin de chaque cycle d’activation N de l’un ou plusieurs des rangs i auxquels il est associé, un comptage k d’une valeur d’incrément k N , la valeur d’incrément k N étant une fonction décroissante de la durée T PN et également fonction de la durée T AN , la valeur d’incrément k N quantifiant l’effet de martelage de l’un ou plusieurs des rangs i sur des rangs j à portée de martelage ; - un bloc logique de rafraîchissement de rang configuré pour rafraîchir un ou plusieurs rangs dès lors qu’un comptage k d’un des compteurs k associé atteint une valeur seuil M, la valeur seuil M étant choisie pour prévenir l’effet de martelage de rang. Dispositif selon la revendication 1, dans lequel la valeur d’incrément k N est une fonction croissante de la durée T AN . Dispositif selon la revendication 1 ou 2, dans lequel le comptage k n’est incrémenté de la valeur d’incrément k N qu’après la fin de la précharge P N+1 du cycle d’activation N+1 suivant immédiatement l’activation A N du cycle d’activation N, la valeur d’incrément k N étant également une fonction décroissante d’une durée T P(N+1) de la précharge P N+1 . Dispositif selon l’une des revendications 1 à 3, dans lequel l’ensemble de comptages k sont sauvegardés dans au moins une table. Dispositif selon l’une des revendications 1 à 4, dans lequel le bloc logique de prévention de l’effet de martelage de rang est configuré pour mesurer, pour chaque cycle d’activation N, la durée T AN de chaque activation A N , et la durée T PN de chaque précharge P N . Dispositif selon l’une des revendications 1 à 5, dans lequel l’au moins un tableau de mémoire DRAM forme un banc mémoire divisé en p sous-bancs, chaque sous-banc h, pour h allant de 1 à p, formant des sections contigües de rangs du banc mémoire, le nombre m de compteurs k est égal au nombre p de sous-bancs h de sorte que chaque compteur k, pour k allant de 1 à p, est associé à un sous-banc h, pour h allant de 1 à p, qui lui est propre. Dispositif selon la revendication 6, dans lequel le bloc logique de prévention de l’effet de martelage est configuré pour réinitialiser ou décrémenter le compteur k associé à un sous-banc h dès lors qu’au moins un rang dudit sous-banc k a été rafraîchi. Dispositif selon l’une des revendications 1 à 5, dans lequel le nombre m de compteurs k est égal au nombre n de rangs mémoires de sorte que chaque compteur k, pour k allant de 1 à n, est associé à un rang i, pour i allant de 1 à n, qui lui est propre. Dispositif selon la revendication 8, dans lequel le bloc logique de rafraîchissement est également configuré pour réinitialiser ou décrémenter le compteur k dès lors que le rang, ou l’un des rangs, associé à ce compteur a été rafraichis. Dispositif selon l’une des revendications 1 à 9, dans lequel le bloc logique de rafraîchissement est également configuré pour exécuter des rafraîchissements périodiques à intervalles de temps réguliers de l’ensemble des rangs mémoire. Dispositif selon l’une des revendications 1 à 10, dans lequel la valeur d’incrément k N est la somme d’une première valeur d’incrément et d’une deuxième valeur d’incrément, la première valeur d’incrément étant fonction d’un délai entre l’activation N-1 du cycle d’activation N-1 et l’activation N du cycle d’activation N, la deuxième valeur d’incrément caractérisant la durée d’activation T AN , du cycle d’activation N. Dispositif selon la revendication 11, dans lequel la détermination de la première valeur et de la deuxième valeur fait intervenir, respectivement, une première table et une deuxième table. Procédé de prévention de l’effet de martelage de rang de mémoire d’un dispositif DRAM, le dispositif DRAM comprenant au moins un tableau de mémoire DRAM pourvu de n rang de mémoire dits rang i pour i allant de 1 à n, le procédé comprenant la mise en œuvre d’un algorithme de prévention de l’effet de martelage de rang, ledit algorithme mettant œuvre : - m compteurs de martelage, dits compteurs k, k allant de 1 à m, chaque compteur k étant associé à un ou plusieurs des rangs i, et est configuré pour incrémenter, après la fin de chaque cycle d’activation N de l’un ou plusieurs des rangs i auxquels il est associé, un comptage k d’une valeur d’incrément k N , la valeur d’incrément k N étant une fonction décroissante de la durée T PN et également fonction de la durée T AN , la valeur d’incrément k N quantifiant l’effet de martelage de l’un ou plusieurs des rangs i sur des rangs j à portée de martelage ; - un bloc logique de rafraîchissement de rang configuré pour rafraîchir un ou plusieurs rangs dès lors qu’un comptage k d’un des compteurs k associé atteint une valeur seuil M, la valeur seuil M étant choisie pour prévenir l’effet de martelage de rang. Procédé de prévention de l’effet de martelage de rang selon la revendication 13, dans lequel la valeur d’incrément k N est une fonction croissante de la durée T AN . Procédé de prévention de l’effet de martelage de rang selon la revendication 14 ou 15, dans lequel l’algorithme met en œuvre les étapes suivantes : A/ la détermination de la durée T PN ; B/ la détermination de la durée T AN ; C/ sur la base des durées T PN et T AN , la détermination d’une valeur d’incrément k N d’un compteur k associé au rang i ; D/ l’incrémentation du compteur k par la valeur d’incrément k N . ; E/ rafraîchir un ou plusieurs rangs i dès lors que le comptage k du compteur k associé auxdits un ou plusieurs rangs i atteint la valeur seuil M F/ une étape, suivant l’étape E/, de décrémentation ou de réinitialisation du comptage k du compteur k considéré.