Brevet FR2711831A1 — publié le 19950505

5a présente invention concerne des mémoires non volatiles à semi-conducteurs. De façon particulière, la présente invention concerne un procédé et un circuit de mémorisation d'ordres d'effacement qui dépassent la profondeur d'une file d'attente d'opérations qui mémorise des ordres d'utilisateur. Une mémoire non volatile à semi-conducteur de l'art antérieur est la mémoire morte programmable et effaçable électriquement par flash, appelée aussi mémoire "flash". Les mémoires flash sont programmées électriquement et, lorsqu'elles ont été programmées, elles retiennent les données jusqu'à ce qu'elles soient effacées. Après effacement, les mémoires flash peuvent être programmées à l'aide d'un nouveau code ou d'une nouvelle donnée. Les mémoires flash diffèrent des mémoires mortes programmables et effaçables électriquement classiques, ou "EEPROM", en ce qui concerne l'effacement. Les EEPROM classiques utilisent typiquement un transistor de choix pour la commande d'effacement d'octets individuels. Les mémoires flash en revanche atteignent typiquement des densités beaucoup plus élevées en utilisant des cellules à transistor unique. Certaines des mémoires flash antérieures sont effacées en appliquant simultanément une tension élevée à la source de chacune des cellules de mémoire du réseau de mémoire. Il en résulte un effacement de tout le réseau. Les conventions de la mémoire flash définissent un un logique lorsque le nombre d'électrons emmagasinés sur la grille flottante d'une cellule de mémoire est faible ou nul. La convention définit également un zéro logique lorsque de nombreux électrons sont emmagasinés sur la grille flottante de la cellule de mémoire. Un effacement de la mémoire flash amène un un logique à être mémorisé dans chaque cellule de bit. Des cellules de mémoire flash ne peuvent pas être écrasées individuellement, pour passer d'un zéro logique à un un logique, sans effacement préalable. En revanche, une cellule de mémoire flash peut être écrasée individuellement pour passer d'un un logique à un zéro logique, parce que ceci implique simplement d'ajouter des électrons à une grille flottante qui contient le nombre intrinsèque d'électrons associés à l'état effacé. Le processus d'effacement, de programmation et de vérification des mémoires flash exige de commander avec attention les tensions nécessaires pour effectuer ces étapes. Par exemple, une mémoire flash de l'art antérieur est la mémoire flash à semi-conducteur à oxyde métallique complémentaire, ou mémoire flash "CMOS", 28F008 commercialisée par Intel Corporation de Santa Clara, Californie, qui est une mémoire flash de 8 mégabits. La mémoire flash inclut un registre d'ordres pour gérer un effacement électrique et une nouvelle programmation. Des ordres d'effacement sont écrits à partir d'un microprocesseur de commande en utilisant des synchronisations normalisées d'écriture de microprocesseur. Le contenu du registre d'ordre sert d'entrée à une machine d'état interne qui commande le circuit d'effacement et de programmation. Typiquement, seule une opération peut être effectuée à la fois à l'intérieur d'une mémoire flash. Ceci signifie que des ordres à haute priorité doivent attendre l'achèvement d'ordres à faible priorité qui ont été émis avant l'ordre à haute priorité. Par exemple, des ordres d'effacement de blocs exigent du temps et leur priorité est relativement faible. En revanche, des ordres de programmation peuvent être exécutés assez rapidement et leur priorité est supérieure à celle des ordres d'effacement de blocs. Cependant, dans des mémoires flash de l'art antérieur, dès lors que l'exécution d'un ordre d'effacement commence, l'exécution d'un ordre de programme est retardée jusqu'après l'exécution complète de l'ordre d'effacement de bloc. C'est un but de la présente invention que de fournir un procédé et un circuit qui permettent à un utilisateur de traiter comme bloc de mémoire séparé chaque bloc de mémoire situé à l'intérieur d'un dispositif de mémoire non volatile. C'est un autre but de la présente invention que de permettre à un utilisateur d'un dispositif de mémoire non volatile incluant de nombreux blocs de mémoire d'envoyer des ordres d'effacement de blocs sans devoir tenir compte de ce que d'autres blocs de mémoire sont actuellement en cours de programmation et d'effacement. C'est encore un autre objet de la présente invention que de permettre à un utilisateur d'un dispositif de mémoire non volatile incluant de nombreux blocs de mémoire d'envoyer autant d'ordres d'effacement qu'il existe de blocs de mémoire. C'est encore un autre but de la présente invention que de permettre à des ordres d'effacement d'être interrompus de manière à traiter des ordres de programme reçus ultérieurement. Un autre but encore de la présente invention est une hiérarchisation d'ordres d'effacement en réponse à des interruptions dues à des ordres de programme. De façon générale, ces buts sont atteints grâce à un procédé de mémorisation et de hiérarchisation d'ordres d'effacement pour un dispositif de mémoire non volatile. Le procédé empêche que la profondeur d'une file d'attente d'opérations, qui est responsable de mettre en file d'attente des ordres de programme et d'effacement, ne limite le nombre d'ordres d'effacement qui sont mémorisés à la fois. Le premier ordre d'effacement reçu sert d'élément de retenue d'emplacement, en retenant un emplacement à l'intérieur de la file d'attente d'opérations pour tous les ordres d'effacement reçus ultérieurement. Tous les ordres d'effacement reçus ultérieurement sont absorbés et sont enlevés de la file d'attente d'opérations. Par conséquent, la file d'attente d'opérations peut recevoir des ordres additionnels et un ordre d'effacement peut être mis en file d'attente pour chaque bloc de mémoire situé à l'intérieur du dispositif de mémoire non volatile. Des ordres d'effacement absorbés peuvent être hiérarchisés en réponse à des ordres de programme reçus ultérieurement. Des blocs sont marqués d'un drapeau, en utilisant un registre de priorité, en vue d'un effacement prioritaire. De plus, des fenêtres d'interruption situées à des points sûrs permettent une interruption d'opérations d'effacement pour traiter des interruptions résultant d'ordres. De façon plus spécifique, l'invention fournit, selon un premier aspect, un procédé de mise en file d'attente d'une première multiplicité d'ordres d'effacement dans un dispositif de mémoire non volatile qui inclut une file d'attente d'opérations destinée à mettre des ordres d'effacement en file d'attente, caractérisé en ce que: la file d'attente d'opérations inclut deux sousfiles d'attente, le dispositif de mémoire non volatile comprend un réseau de mémoire principale incluant une deuxième multiplicité de blocs de mémoire, la deuxième multiplicité de blocs de mémoire est supérieure au nombre des sous-files d'attente incluses dans la file d'attente d'opérations, la première multiplicité d'ordres d'effacement est supérieure au nombre de sous-files d'attente incluses dans la file d'opérations, chaque ordre d'effacement est associé à un bloc de mémoire, et en ce que le procédé de mise en file d'attente comprend les étapes consistant à: a) interrompre une exécution d'un premier ordre d'effacement associé à un premier bloc en réponse à une réception d'un deuxième ordre d'effacement associé à un deuxième bloc de mémoire de la file d'attente d'opérations; b) absorber l'ordre pour effacer le deuxième bloc; et c) valider la file d'attente d'opérations pour recevoir des ordres additionnels. Le procédé peut comprendre en outre l'étape consistant à: e) reprendre l'exécution du premier ordre d'effacement après l'étape c). Dans ce cas, le procédé comprendre en outre l'étape consistant à: f) exécuter le deuxième ordre d'effacement. et peut alors comprendre en outre l'étape consistant à: g) déterminer si des ordres d'effacement ont été absorbés. Selon un deuxième aspect, l'invention fournit un procédé à mettre en oeuvre dans un dispositif de mémoire non volatile à semi-conducteur incluant une première multiplicité de blocs de mémoire et une file d'attente d'opérations pour mémoriser des ordres de l'utilisateur, destiné à hiérarchiser un ordre de programme associé à un premier bloc de mémoire lorsqu'un ordre d'effacement associé au premier bloc de mémoire a été absorbé, et caractérisé en ce qu'il comprend les étapes consistant à: a) si un ordre d'effacement associé à un deuxième bloc est en cours d'exécution: 1) achever l'effacement du deuxième bloc; 2) effacer le premier bloc; et 3) programmer le premier bloc. L'étape a2) peut se produire sans interruption. L'étape a3) peut se produire sans interruption. Le procédé peut prévoir qu'un ordre d'effacement a été absorbé pour un troisième bloc de mémoire, et en que les étapes al), a2) et a3) sont effectués avant l'effacement du troisième bloc. Selon un troisième aspect, l'invention fournit un procédé à mettre en oeuvre dans un dispositif de mémoire non volatile à semi-conducteur incluant une première multiplicité de blocs de mémoire et une file d'attente d'opérations pour mémoriser des ordres de l'utilisateur, destiné à hiérarchiser un ordre de programme associé à un premier bloc de mémoire pour lequel un ordre d'effacement a été reçu précédemment, et caractérisé en ce qu'il comprend l'étape consistant à: a) si un ordre d'effacement associé au premier bloc est en cours d'exécution: 1) achever l'effacement du premier bloc; et 2) programmer le premier bloc. L'étape al) peut se produire sans interruption. L'étape a2) peut se produire sans interruption. Selon un quatrième aspect, l'invention fournit un procédé à mettre en oeuvre dans un dispositif de mémoire non volatile à semi-conducteur incluant une première multiplicité de blocs de mémoire et une file d'attente d'opérations pour mémoriser des ordres de l'utilisateur, destiné à mettre en oeuvre un ordre d'effacement associé à un premier bloc de mémoire après réception d'un ordre de programme associé au premier bloc, caractérisé en ce qu'il comprend les étapes consistant à: a) si un ordre d'effacement associé à un deuxième bloc est en cours d'exécution à la réception de l'ordre de programme: 1) achever l'effacement du deuxième bloc; 2) effacer le premier bloc; 3) programmer le premier bloc; b) a) si un ordre d'effacement associé au premier bloc est en cours d'exécution à la réception de l'ordre de programme: 1) achever l'effacement du premier bloc; et 2) programmer le premier bloc. L'étape al) peut se produire sans interruption. L'étape a2) peut se produire sans interruption. L'étape a3) peut se produire sans interruption. L'étape bl) peut se produire sans interruption. L'étape b2) peut se produire sans interruption. On peut prévoir que un ordre d'effacement associé à un troisième bloc de mémoire a été absorbé et que les étapes al), a2) et a3) sont effectuées avant l'effacement du troisième bloc. Selon un cinquième aspect, l'invention fournit un procédé à mettre en oeuvre dans un dispositif de mémoire non volatile à semi-conducteur incluant une première multiplicité de blocs de mémoire et une file d'attente d'opérations pour mémoriser des ordres de l'utilisateur, destiné à traiter une interruption d'effacement d'un premier bloc de mémoire due à un ordre de programme associé à un deuxième bloc de mémoire, caractérisé en ce qu'il comprend les étapes consistant à: a) déterminer si le deuxième bloc doit être effacé avant l'exécution de l'ordre de programme; et b) si le deuxième bloc ne doit pas être effacé avant l'exécution de l'ordre de programme, programmer le deuxième bloc avant d'achever l'effacement du premier bloc. L'étape a) peut comprendre l'étape consistant à déterminer si un effacement du deuxième bloc a été interrompu par la réception de l'ordre de programme. Dans ce cas, il est possible que l'étape a) comprenne en outre l'étape consistant à déterminer si un ordre d'effacement associé au deuxième bloc a été reçu avant la réception de l'ordre de programme, et/ou que le deuxième bloc doive être effacé avant la programmation du deuxième bloc lorsqu'il est déterminé qu'un effacement du deuxième bloc a été interrompu par la réception de l'ordre de programme, et/ou que le deuxième bloc doive être effacé avant la programmation du deuxième bloc lorsqu'il est déterminé qu'un ordre d'effacement associé au deuxième bloc a été reçu avant la réception de l'ordre de programme. Selon un sixième aspect, l'invention réalise une mémoire non volatile à semi-conducteur caractérisée en ce qu'elle comprend: a) un réseau de mémoire organisé sous la forme d'une première multiplicité de blocs de mémoire; b) une file d'attente d'opérations destinée à mémoriser des ordres d'opérations sur le réseau de mémoire, la file d'attente d'opérations incluant une deuxième multiplicité de sous-files d'attente; c) un dispositif de commande pour exécuter des ordres mémorisés dans la file d'attente d'opérations, le dispositif de commande incluant: 1) un moyen d'interruption, qui répond à une réception d'un deuxième ordre par la file d'attente d'opérations et qui est destiné à interrompre l'exécution d'un premier ordre mémorisé dans la file d'attente d'opérations; et 2) un moyen d'absorption d'ordre d'effacement en réponse au moyen d'interruption, destiné à absorber le deuxième ordre et à valider la file d'attente d'opérations pour recevoir un ordre, en validant ainsi le dispositif de mémoire non volatile à semiconducteur pour la mise en file d'attente d'une troisième multiplicité d'ordres qui est supérieure à la deuxième multiplicité de sous-files d'attente. D'autres buts, particularités et avantages de la présente invention ressortiront des dessins annexés et de la description détaillée qui suit. La présente invention est illustrée à titre d'exemple et non à titre limitatif aux figures des dessins annexés dans lesquelles des références désignent des éléments similaires et dans lesquels: La Figure 1 est un schéma fonctionnel d'un dispositif de mémoire non volatile. La Figure 2 est un schéma fonctionnel de l'interface d'utilisateur du dispositif de mémoire non volatile. La Figure 3 illustre des bits d'un registre global d'état et de registres d'état de blocs. La Figure 4 est un schéma fonctionnel du dispositif de commande de réseau de la mémoire non volatile. La Figure 5 est un schéma objet des algorithmes, appelés aussi prises en charge, responsables de l'effacement d'un bloc de mémoire. La Figure 6 est un schéma logique de l'algorithme du dispositif de commande d'effacement. La Figure 7A illustre l'état de la file d'attente d'opérations et du registre de priorité avant l'absorption d'un ordre d'effacement de bloc. La Figure 7B illustre l'état de la file d'attente d'opérations et du registre de priorité après l'absorption d'un ordre d'effacement de bloc. La Figure 8 illustre sous forme de schéma logique la mise en oeuvre de la fenêtre d'interruption. La Figure 9A illustre l'état de la file d'attente d'opérations et du registre de priorité lorsqu'un ordre de programme interrompt une exécution d'un ordre d'effacement. La Figure 9B illustre l'état de la file d'attente d'opérations et du registre de priorité lorsqu'un ordre de programme interrompt une exécution d'ordre d'effacement et que le bloc à programmer est en cours d'effacement. La Figure 9C illustre l'état de la file d'attente d'opérations et du registre de priorité lorsqu'un ordre de programme interrompt une exécution d'ordre d'effacement et qu'un ordre d'effacement concernant le bloc à programmer a été absorbé précédemment. La Figure 10 illustre un système d'ordinateur qui inclut un dispositif de mémoire non volatile qui absorbe des ordres d'effacement. On va maintenant décrire l'invention de façon détaillée, c'est-à-dire décrire en premier lieu une vue générale d'un dispositif de mémoire non volatile, en précisant l'interface d'utilisateur, le dispositif de commande de réseau et les mécanismes de traitement d'interruptions, et décrire en deuxième lieu l'absorption et la hiérachisation d'un ordre d'effacement et le traitement d'une interruption concernant un tel ordre et résultant d'un autre ordre. C'est donc par une vue générale d'un dispsoitif de mémoire non volatile que l'on décrira en premier lieu. La Figure 1 illustre sous forme de schéma fonctionnel un dispositif de mémoire non volatile 20 qui incorpore le procédé et le circuit de la présente invention. Le dispositif de mémoire 20 inclut une interface 30 d'utilisateur, un dispositif de commande 40 de réseau, et un réseau 50 de mémoire non volatile. L'utilisateur du dispositif de mémoire communique des ordres au dispositif de mémoire 20 par l'intermédiaire de signaux d'adresses 21, de signaux de commande 22 et de signaux de données 23. L'interface 30 d'utilisateur reçoit les signaux 21, 22, et 23 qui représentent les ordres de l'utilisateur et les décode. L'interface 30 d'utilisateur inclut une file d'attente d'opérations qui permet au dispositif de mémoire 20 de mettre en file d'attente de nombreux ordres de l'utilisateur, que la file d'attente d'opérations communique au dispositif de commande 40 de réseau. Le dispositif de commande 40 de réseau exécute les ordres indiqués sur le bloc indiqué situé dans le réseau de mémoire non volatile 50. Des ordres exécutés par le dispositif de commande 40 de réseau incluent des ordres de programmes et des ordres d'effacement de blocs. Comme décrit de façon plus détaillée ci-dessous, le dispositif de commande 40 de réseau permet au dispositif 20 de mémoire non volatile de mémoriser beaucoup plus d'ordres d'effacement que ceux qui peuvent être mémorisés dans la file d'attente d'opérations. En bref, le dispositif de commande 40 de réseau y parvient en interrompant une exécution d'un ordre d'effacement de bloc afin d'absorber un autre ordre d'effacement de bloc. L'ordre absorbé d'effacement de bloc est ensuite enlevé de la file d'attente d'opérations, ce qui permet à l'interface 30 d'utilisateur de placer des ordres additionnels dans la file d'attente d'opérations. Après achèvement de l'effacement d'un bloc, le dispositif de commande 40 de réseau vérifie la présence d'ordres absorbés d'effacement de blocs, qui sont ensuite exécutés. Comme décrit aussi de façon plus détaillée ci-dessous, le dispositif de commande 40 de réseau hiérarchise parmi des ordres absorbés d'effacement de blocs en réponse à des ordres de programmation et interrompt l'exécution d'ordres d'effacement de blocs pour exécuter des ordres de programmes qui ont été mis en file d'attente ultérieurement. Avant de commencer cette description détaillée, considérons de nouveau de dispositif de mémoire 20. Le dispositif de mémoire comprend aussi des registres 70 de commande et un trajet 80 de lecture et d'écriture. Ces circuits 70 et 80, en coopération avec l'interface 30 d'utilisateur et le dispositif de commande 40 de réseau, rendent relativement simple pour l'utilisateur l'utilisation du réseau 50 de mémoire. Le réseau 50 de mémoire constitue une mémoire vive de donnée, non volatile, de grandes dimensions. Le réseau 50 de mémoire non volatile inclut de préférence 32 blocs de cellules de mémoire flash. Chaque bloc de mémoire fournit de préférence 64k octets de mémoire de donnée, qui peuvent être effacés séparément. L'interface 30 d'utilisateur fonctionne comme arbitre entre l'utilisateur qui envoie des ordres et un dispositif de commande 40 de réseau qui exécute des ordres choisis. Par exemple, l'interface 30 d'utilisateur détermine si l'opération demandée par l'utilisateur est valide, étant donné l'état actuel du dispositif de commande 40 de réseau. L'interface 30 d'utilisateur reçoit comme entrée l'information d'ordre et d'adresse et détermine l'opération, ou ordre, que le dispositif de commande 40 de réseau devrait exécuter. Tel qu'il est utilisé ici, le terme d'information d'ordre 24 se réfère à la combinaison formée de signaux d'adresse, de signaux 23 de donnée et de signaux de commande 22 qui représentent des ordres. En outre, le circuit d'interface 30 d'utilisateur commande la mise en file d'attente d'adresse et de donnée, l'accès de l'utilisateur aux registres d'état, et le multiplexeur de sortie 120. L'interface 30 d'utilisateur valide un accès de l'utilisateur au réseau 50 de mémoire en réponse à des ordres d'utilisateur communiqués par l'intermédiaire des signaux 21, 22 et 23. A la réception d'un ordre, l'interface 30 d'utilisateur mémorise les signaux d'adresse, de donnée et d'ordre, 21, 22 et 23 dans des tampons internes. Si l'opération demandée est un ordre de programme ou d'effacement de blocs, les signaux d'ordre, d'adresse et de donnée 21, 22 et 23 sont transférés au dispositif de commande 40 de réseau par l'intermédiaire du bus 31 de file d'attente. Une information d'adresse associée à un ordre est envoyée par l'interface 30 d'utilisateur au trajet 80 de lecture et d'écriture par l'intermédiaire du multiplexeur 112. L'interface 30 d'utilisateur envoie deux signaux, CMDRDY et SUSREQ, au dispositif de commande 40 de réseau. CMDRDY, abrégé de command ready, c'est-à-dire ordre prêt, indique qu'il existe au moins un autre ordre en attente d'exécution dans la file d'attente d'opérations. SUSREQ, abrégé de suspension request, c'est-à-dire demande de supension, informe le dispositif de commande 40 de réseau qu'il existe en attente une demande de suspension de l'exécution du dispositif de commande de réseau. L'interface 30 d'utilisateur choisit une adresse d'entrée 114 pour le trajet 80 de lecture et d'écriture par l'intermédiaire d'une commande du multiplexeur 112 d'adresses d'entrée. L'adresse d'entrée choisie est, soit l'adresse détectée par les tampons à logique transistor-transistor, ou TTL, non représentés, du bus 21 d'adresse d'utilisateur, soit une adresse 110 entrée en sas venant de l'interface 30 d'utilisateur. L'interface 30 d'utilisateur commande le multiplexeur 120 de donnée de sortie pour choisir une source pour sortir une donnée à l'utilisateur. Cette donnée est transférée par l'intermédiaire du bus 23 de donnée d'utilisateur. La donnée de sortie choisie peut être, soit une donnée 82 qui vient du trajet 80 de lecture et d'écriture, soit une donnée 32 du registre d'état de blocs, ou BSR, qui vient d'un ensemble de registres d'état de blocs, contenus à l'intérieur de l'interface 30 d'utilisateur. Ainsi, l'utilisateur peut recevoir une donnée du réseau 50 de mémoire ainsi qu'une information d'état concernant l'état du dispositif 20 de mémoire. Le dispositif de commande 40 de réseau commande les différentes composantes nécessaires pour programmer, effacer et vérifier le réseau 50 de mémoire. Le dispositif de commande 40 de réseau exécute les algorithmes, appelés aussi prises en charge comme indiqué plus haut, qui séquencent le circuit haute tension du trajet 80 de lecture et d'écriture de manière à appliquer une charge dans les cellules de mémoire situées à l'intérieur du réseau 50 de mémoire ou en retirer une charge de ces cellules. Le dispositif de commande 40 de réseau commande le circuit à haute tension et le réseau 50 de mémoire d'adresses en accédant à des registres 70 de commande par l'intermédiaire du bus central 100 de commande. Le dispositif de commande 40 de réseau conduit à l'interface 30 d'utilisateur plusieurs signaux d'état. Le dispositif de commande 40 de réseau fournit à l'interface 30 d'utilisateur un signal RDY, abrégé de ready, c'est-à-dire prête, qui indique si le dispositif de commande 40 de réseau est ou non occupé ou prêt à commencer l'exécution d'un autre ordre. NXTCMD, abrégé de next command, c'est-à-dire ordre suivant, indique à l'interface 30 d'utilisateur si le dispositif de commande 40 de réseau est en train d'exécuter l'ordre placé dans la file d'attente principale de la file d'attente d'opérations ou un autre ordre provoquant une interruption, qu'on apellera aussi ordre interrompant, situé dans la file d'attente secondaire de la file d'attente d'opérations. OPDONE, abrégé de operation done, c'està-dire opération achevée, indique l'achèvement de l'ordre actuellement en cours d'exécution. IDLE, c'est-à-dire en attente, indique que des opérations ont été suspendues avec succès et que l'utilisateur peut commander le dispositif de mémoire 20. Le circuit d'accès 102 de commande permet au dispositif de commande 40 de réseau d'accéder aux registres 70 de commande par l'intermédiaire du bus central 100 de commande. En fonctionnement normal, le dispositif de commande 40 de réseau commande le circuit d'accès 102 de commande et commande donc un accès aux registres 70 de commande. Le circuit d'accès 102 de commande fait passer des informations vers le dispositif de commande 40 de réseau et depuis celuici. Le dispositif de commande 40 de réseau fournit au circuit d'accès 102 de commande une information d'état de sortie. Le dispositif de commande 40 de réseau écrit dans les registres spécialisés 70 de commande en transférant au circuit d'accès 102 de commande par l'intermédiaire du bus 104 un signal de commande d'écriture, et une adresse de registre ainsi qu'une donnée correspondante d'écriture. Le circuit d'accès 102 de commande engendre ensuite un cycle d'écriture et le couple au bus central 100 de commande pour écrire dans le registre adressé de commande. Le dispositif de commande 40 de réseau lit les registres 70 de commande en transférant un signal de adresse de registre et de commande de lecture au circuit d'accès de commande par l'intermédiaire du bus 104. Le circuit d'accès 102 de commande engendre ensuite un cycle d'accès de lecture et le couple au bus central 100 de commande pour lire le registre de commande adressé. Le registre de commande 112 inclut des registres spécialisés de commande et un circuit de commande du circuit à haute tension du trajet 80 de lecture et d'écriture en fonction de signaux 90 de commande. Le registre de commande 74 commande un circuit spécial d'accès de colonnes à l'intérieur du trajet 80 de lecture et d'écriture en fonction des signaux 91 de commande. Le registre de commande 76 inclut un ensemble de registres de lecture seulement, pour détecter et entrer en sas un ensemble de signaux 92 d'état venant du trajet 80 de lecture et d'écriture. Le registre de commande 78 commande le trajet de lecture du trajet 80 de lecture et d'écriture par l'intermédiaire de signaux 93 de commande. En raison de sa fonction, le registre de commande 78 est également appelé registre alternatif 78 d'adresses. Le dispositif de commande 40 de réseau utilise le registre alternatif 78 d'adresses pour adresser au réseau de mémoire 50 pendant des effacements prioritaires, comme décrit de façon plus détaillée ciaprès. Après avoir exposé une vue générale du dispositif de mémoire non volatile, on va maintenant en décrire successivement l'interface d'utilisateur, le dispositif de commande de réseau, et les mécanismes de traitement des interruptions. L'interface 30 d'utilisateur, qui sera décrite en premier lieu, est illustrée à la Figure 2 sous forme de schéma fonctionnel. L'interface 30 d'utilisateur inclut une machine d'état 200 d'ordres, une file d'attente temporaire 202, une file d'attente 204 d'opérations et des registres d'état 206. La machine d'état 200 d'ordres détermine l'ordre à exécuter sur la base d'une information d'ordre reçue de l'utilisateur. La machine d'état 200 d'ordres décode l'entrée d'ordres qui vient de l'utilisateur et dicte au reste du dispositif de mémoire 20 les étapes nécessaires pour exécuter cet ordre. La machine d'état 200 d'ordres envoie, si nécessaire, l'information d'ordres au dispositif de commande 40 de réseau. Si une opération de lecture doit être effectuée, la machine d'état 200 d'ordres envoie l'adresse au circuit 80 de lecture et d'écriture. La machine d'état 200 d'ordres commande la donnée disponible aux sorties par l'intermédiaire du multiplexeur 120 de sortie et aux entrées par le multiplexeur d'entrée 112. En outre, la machine d'état 200 d'ordres commande un accès aux registres d'état 206. Si l'ordre demandé est un ordre qui n'est pas exécuté par le dispositif de commande 40 de réseau, par exemple un ordre de lecture du réseau ou de lecture des registres d'état, l'interface 30 d'utilisateur envoie les signaux de commande appropriés pour provoquer une exécution de l'ordre demandé. Si la demande d'ordres reçue est une demande qui doit être exécutée par le dispositif 40 de réseau, le code d'ordre qui est représentatif de l'ordre est utilisé pour engendrer un indice d'une table de sauts. L'indice de la table de sauts, appelé aussi vecteur de déport, est envoyé à la file d'attente temporaire 202 d'ordres, d'adresses et de données. Le vecteur de déport est envoyé à la file d'attente 204 d'opérations. Si un ordre doit être exécuté par le dispositif de commande 40 de réseau, l'interface 30 d'utilisateur couple l'information d'ordre, d'adresse et de donnée à la file d'attente temporaire 202 pour qu'elle y soit traitée. Dès lors que la file d'attente temporaire 202 reçoit une information d'ordre, de donnée et d'adresse, elle envoie l'information à la file d'attente d'opérations 204. Au fur et à mesure que des ordres de dispositif de commande de réseau sont envoyés à la machine d'état 200 d'ordres, elle envoie les ordres et l'information d'adresses et de données à la file d'attente temporaire 202. La file d'atten la file d'attente 204 d'opérations afin de permettre l'exécution de l'opération suivante. Si un ordre à exécuter est mémorisé dans la file d'attente temporaire 202, le vecteur de déport, la donnée et l'adresse sont transférés à la file d'attente d'opérations 204 pour une exécution ultérieure. Une commutation de contexte permet une exécution d'un ordre mémorisé dans la file d'attente secondaire avant l'achèvement de l'ordre mémorisé dans la file d'attente principale. L'interface 30 d'utilisateur permet trois couches de files d'attente d'ordres. Par exemple, lorsqu'un ordre reçu exige une opération du dispositif de commande 40 de réseau, et une opération qui n'est pas une opération en cours d'exécution, l'interface 30 d'utilisateur charge dans la file d'attente principale de la file d'attente d'opérations 204 la donnée concernant l'ordre et lance le fonctionnement du dispositif de commande 40 de réseau. Typiquement, la file d'attente secondaire est disponible pour recevoir des ordres additionnels de l'utilisateur tandis que le dispositif de commande 40 de réseau est en train d'exécuter un ordre situé dans la file d'attente principale. A la réception d'un ordre ultérieur, l'interface 30 d'utilisateur notifie au dispositif de commande 40 de réseau, par l'intermédiaire de l'affirmation d'un signal CMDRDY, qu'un nouvel ordre a été placé dans la file d'attente d'opérations 204. L'algorithme du dispositif de commande de réseau qui est actuellement en fonctinnement détermine si son fonctionnement doit être interrompu pour traiter l'opération mise en file d'attente. De préférence, l'interface 30 d'utilisateur inclut un registre global d'état et un ensemble de 32 registres d'état de blocs, appelés aussi BSR selon les initiales des mots block status registers, un registre d'attente de blocs pour chaque bloc du réseau 50 de mémoire. La Fig. 3 illustre à titre d'exemple, des définitions de bits du registres d'état. Le registre d'état global représente l'état du dispositif de mémoire 20 en général et ne transmet aucune information spécifique d'un bloc. Bien qu'une opération défaillante puisse être détectée par l'intermédiaire du registre d'état global, le bloc réel dans lequel l'opération défaillante s'est produite ne peut être détecté qu'en lisant les registres d'état des blocs. Les registres d'état des blocs, dont un seul est illustré, indiquent l'état d'opérations effectuées sur un bloc par l'intermédiaire d'un bit RDY/!BSY, abrégé de ready/busy, c'est-à-dire prêt/occupé. Si aucune information n'est actuellement en cours d'exécution sur un bloc, ceci est indiqué par l'état actif, RDY, du bit RDY/!BSY du bloc. De façon analogue, si un bloc est en cours de traitement, ceci est indiqué par l'état inactif, !BSY du bit RDY/!BSY du bloc. L'interface 30 d'utilisateur peut accéder à chaque registre d'état de bloc pour surveiller l'état d'exécution des opérations du dispositif de commande de réseau. L'utilisateur peut accéder aux registres d'état 206 à un instant quelconque pour déterminer l'état du dispositif de commande 40 de réseau. On va maintenant décrire le dispositif de commande 40 de réseau. Il s'agit d'une structure de traitement polyvalente. Comme représenté à la Figure 4, le dispositif de commande 40 de réseau inclut une mémoire de programme 230, un registre d'instructions 232, un compteur de programme 235, une unité arithmétique et logique ou ALU 236, et un fichier 238 de registres. Le dispositif de commande 40 de réseau exécute des algorithmes mémorisés dans la mémoire de programme 230. Ces algorithmes comprennent des mots d'instructions, en particulier des instructions de transfert de données, des instructions de calcul, des instructions de saut de séquence et des instructions de commande. Des instructions de transfert de données concernent des déplacements de données vers un fichier 238 de registre ou depuis celui-ci. Des instructions de saut de séquence permettent à une programmation de modifier le déroulement d'un algorithme en utilisant des appels de sous-programmes et des sauts conditionnels ou inconditionnels. Des instructions de calcul provoquent des opérations qui impliquent l'unité arithmétique et logique 236. Des instructions de commande constituent le moyen de mise en place ou d'enlèvement de deux drapeaux d'interruption et de mise en place d'indicateurs pour les sous-programmes de traitement d'interruptions. L'accès à des algorithmes mémorisés dans la mémoire 230 de programmes s'effectue par l'intermédiaire de vecteurs de saut reçus de l'interface 30 d'utilisateur et d'adresses de programmes. Des adresses de programmes sont mémorisées dans les 32 premières adresses du circuit de mémoire 230 de programmes. La mémoire 230 de programmes reçoit du compteur 234 de programme une adresse à la fois. La mémoire 230 de programmes produit des instructions, une instruction à la fois, destinées au registre 238 d'instructions qui les entre en sas. La fonction de base du compteur 234 de programme est de décoder l'instruction suivante à exécuter et d'indiquer l'instruction appropriée à suivre. En d'autres termes, le compteur 234 de programme permet une commutation de contexte entre les files d'attente principale et secodaire de la file d'attente d'opérations 204 et constitue uen structure d'interruption. L'adresse produite comme sortie du compteur 234 de programme est utilisée pour restituer l'instruction suivante à partir de la mémoire 230 de programmes en vue d'un transfert au registre 232 d'instructions et d'une exécution par l'unité arithmétique et logique 236. Le compteur 234 de programme permet au dispositif de commande 40 de réseau une commutation de contexte pendant une interruption afin de sauvegarder le contexte du dispositif de commande de réseau d'une manière synchronisée. Ainsi, quand une opération d'interruption est achevée, une autre commutation de contexte est effectuée pour restaurer l'état d'origine du dispositif de commande de réseau et le fonctionnement d'origine peut continuer. Le compteur 234 de programme inclut deux registres qui aident au traitement de l'interruption et à la commutation de contexte. Le registre de début d'interruption mémorise l'adresse d'un sous-programme de début d'interruption. Ainsi, lorsqu'une mise en oeuvre d'interruption commence, elle commence alors que le registre de début d'interruption indique le sous-programme. Le deuxième registre, le registre de retour d'interruption, exerce une fonction analogue. Le registre de retour d'interruption mémorise l'adresse du programme à laquelle il faudra revenir après l'achèvement de la mise en oeuvre de l'interruption, et après l'envoi de l'ordre de retour, RET. L'unité arithmétique et logique 236 exerce toutes les fonctions arithmétiques et logiques et elle ne sera pas décrite en détail dans ce qui suit. Le fichier 238 de registre est divisé en deux sections. La première section, qui est appelée la section principale, contient des variables pour l'algorithme en cours d'exécution par le dispositif de commande 40 de réseau. La deuxième section contient des variables pour un algorithme d'interruption. Par conséquent, lorsqu'il prend en compte une interruption, le fichier 238 de registres commute de la section principale vers la deuxième section le contexte du dispositif de commande 40 de réseau. Toutes les opérations sont dès lors exécutées dans la section d'opération du fichier 238 de registres. Toutes les variables tenues dans la section principale du fichier de registres sont maintenues, mais elles ne sont pas accessibles pendant que l'interruption est prise en compte. Après l'algorithme de l'interruption, la commande revient à la section principale. Le fichier 238 de registres inclut un registre de haute priorité, qui est utilisé pour indiquer une exécution d'ordres d'effacement prioritaire. On va maintenant décrire le mécanisme de traitement d'interruptions. L'architecture du dispositif de mémoire 20 prévoit un mécanisme d'interruption qui permet des interruptions d'algorithmes du dispositif de commande de réseau sans corruption, ni des données, ni des circuits de programmation ou d'effacement à haute tension. Le mécanisme d'interruption protège le dispositif de mémoire 20 avant la prise en compte de l'interruption en sortant le dispositif de mémoire 20 hors d'un état qui pourrait être dommageable au réseau. Par exemple, si le dispositif de commande 40 de réseau est en train de commander un processus d'effacement, les tensions nécessaires pour effacer le réseau sont abaissées afin d'éviter d'endommager le réseau de mémoire 50. Après la prise en compte de l'interruption, le dispositif de commande 40 de réseau est replacé dans un état à partir duquel le processus d'exécution d'origine peut se poursuivre. En particulier, le mécanisme d'interruption permet sans danger une interruption et une suspension de l'algorithme en cours d'exécution, en exécutant en premier lieu un sous-programme de début d'interruption placé par l'algorithme en cours d'exécution. Ce code de début d'interruption suspend en toute sécurité l'algorithme en cours d'exécution et effectue la commutation nécessaire de contexte des registres du compteur de programme. Dès lors que le sous-programme de début d'interruption a achevé l'exécution, le sousprogramme d'interruption commence son exécution et, à la fin de l'exécution du sous-programme d'interruption, un sous-programme de retour d'interruption est exécuté de manière à ajuster le compteur 234 de programme pour indiquer un point de retour sûr le code interrompu et effectuer une commutation de contexte des registres telle que le sous-programme interrompu puisse poursuivre son exécution. Cette structure permet une interruption d'une opération d'effacement afin d'exécuter des ordres de programme reçus ultérieurement et d'absorber ultérieurement des ordres reçus d'effacement de blocs. Des opérations d'effacement sur un réseau exigent un temps important. Si une opération d'effacement de bloc est en cours d'exécution et qu'une opération de programme attend une exécution, une demande d'interruption est engendrée et le sous-programme de début d'interruption vérifie le caractère approprié de l'algorithme d'interruption, et il séquence en toute sécurité les alimentations internes en énergie vers un état hors fonction avant l'exécution de l'algorithme de programme. De préférence, le dispositif de commande 40 de réseau fournit deux drapeaux d'interruption: un drapeau d'interruption de file d'attente d'opérations et un drapeau d'interruption maître. Pour qu'une interruption soit prise en compte par le dispositif de commande 40 de réseau, il faut un ordre en attente, ce qui est indiqué par l'affirmation de CMDRDY, et il faut que les deux drapeaux d'interruption soient validés. Le drapeau d'interruption de file d'attente d'opérations, qui est initialement dans un état invalidé, est utilisé à l'intérieur d'algorithmes pour valider et invalider localement le traitement d'interruptions. Ainsi, un algorithme peut inclure des instructions, destinées au dispositif de commande 40 de réseau, pour valider et invalider le drapeau de file d'attente d'opérations pendant l'exécution de l'algorithme à divers points, qui peuvent respectivement être interrompus ou ne pas être interrompus. Le drapeau d'interruption de file d'attente d'opérations est de préférence invalidé automatiquement lorsqu'une instruction d'appel ou de retour est exécutée. Le drapeau d'interruption maître, qui est validé initialement, est utilisé pour invalider des interruptions lorsqu'un algorithme ne peut pas traiter une interruption d'attente et pour traiter des ordres d'effacement prioritaire. De préférence, des instructions envoyées par le dispositif de commande 40 de réseau commandent un traitement d'interruption et les drapeaux d'interruption. Ces ordres incluent une validation d'interruptions de file d'attente d'opérations ou ENI, une validation d'autres interruptions ou ENGI, une invalidation des interruptions de file d'attente d'opérations ou DSI, une invalidation d'autres interruptions ou DSGI et une mise en place du registre de début d'interruption ou SISR. ENI prend comme argument un point de retour sûr à l'algorithme, place à cette valeur le registre de retour d'interruption et place le drapeau d'interruption de file d'attente d'opérations. Le drapeau d'interruption maître est placé par ENGI. DSI restaure et invalide simplement le drapeau d'interruption de file d'attente d'opérations. De même, DSGI invalide le drapeau d'interruption maître. SISR prend comme argument l'adresse de sousprogramme de début d'interruption et place le registre de début d'interruption. A l'achèvement des sousprogrammes de début d'interruption, signifiés par l'instruction de retour, RET, le signal d'accusé de réception d'interruption et le signal de début sont affirmés. L'algorithme d'interruption est ensuite exécuté. A l'achèvement de l'algorithme d'interruption signifié par l'instruction signifié par l'instruction RET, le bit d'interruption est enlevé et il se produit un saut à l'adresse mémorisée dans le registre de retour d'interruption. L'algorithme interrompu poursuit ensuite son exécution. En outre, l'adresse qui identifie le point de retour sûr de l'algorithme interrompu, le sousprogramme de retour d'interruption, peut être modifiée pendant l'exécution d'algorithme. Ainsi, le point de retour d'interruption est mis à jour pendant l'exécution du code afin d'indiquer des points de retour différents. Ceci peut être accompli en modifiant le sous-programme de retour d'interruption ou en mettant à jour le registre de retour d'interruption pour indiquer des sousprogrammes différents de retour d'interruption en fonction de l'emplacement d'exécution de l'algorithme. Par exemple, dans un algorithme d'effacement, le point de retour pour le sous-programme de condition préalable serait différent du point de retour pour la partie d'effacement de l'algorithme, et celui-ci serait lui-même différent du point de retour pour le sous-programme de condition ultérieure. On va maintenant décrire l'absorption et la hiérarchisation d'ordres d'effacement et le traitement d'interruptions résultant d'ordres de programme en donnant d'abord une vue générale, puis une description plus détaillée de l'absorption et de l'exécution d'ordres d'effacement, puis une description plus détaillée d'une interruption d'exécution d'effacement résultant d'ordres de programme, sans ou avec effacement prioritaire. Etant donné la description précédente de l'interface 30 d'utilisateur et du dispositif de commande 40 de réseau, on va maintenant considérer, de façon génrale, le présent procédé de mémorisation d'ordres d'effacement. Ce procédé empêche que la profondeur de la file d'attente 204 d'opérations ne limite le nombre d'ordres d'effacement de blocs mémorisés, ou placés en file d'attente, à la fois. Le premier ordre d'effacement de bloc reçu sert d'élément de retenue d'emplacement pour tous les ordres d'effacement de bloc reçus ultérieurement. Tous les ordres d'effacement de bloc reçus ultérieurement sont absorbés et sont effacés de la file d'attente d'opérations 204. Par conséquent, la file d'attente d'opérations 204 reste libre de recevoir les ordres additionnels et un ordre d'effacement peut être entré en file d'attente pour chaque bloc de mémoire. Tel qu'elle est conçue ici, la mise en file d'attente d'ordres d'effacement n'implique aucun ordre particulier d'exécution. Une mise en file d'attente d'un ordre signifie que l'ordre est mémorisé en vue d'une exécution ultérieure. Lorsqu'il n'existe plus aucun ordre absorbé d'effacement en attente d'exécution, l'ordre d'effacement de l'élément de retenue d'emplacement est enlevé de la file d'attente d'opérations 204. Le présent procédé hiérarchise aussi entre des ordres d'effacement absorbés en réponse à des ordres de programme tout en interrompant une exécution d'un ordre d'effacement afin d'exécuter un ordre de programme reçu ultérieurement. Tel qu'il est utilisé ici, le terme d'effacement prioritaire concerne un ordre d'effacement qui doit être exécuté avant l'exécution d'un ordre de programme qui l'interrompt. Un ordre d'effacement, reçu et absorbé antérieurement, concernant un bloc doit être exécuté avant un ordre de programme pour ce même bloc parce que l'intégrité de données mémorisées dans le dispositif de mémoire 20 serait compromise dans le cas contraire. Par exemple, si l'ordre de programme reçu ultérieurement est exécuté avant un ordre d'effacement reçu antérieurement, la donnée qui a été programmée à l'instant est perdue et le dispositif de mémoire 20 ne mémorise pas la donnée que l'utilisateur souhaite. La Figure 5 est un schéma objet qui illustre la relation entre les diverses prises en charge, ou algorithmes qui commandent l'effacement du dispositif de mémoire 50 et qui effectuent l'absorption, la mise en file d'attente et la hiérarchisation des ordres d'effacement. Ces algorithmes sont mémorisés dans la mémoire de programme 230 du dispositif de commande 40 de réseau. Le dispositif de commande 240 d'effacement coordonne les activités nécessaires pour effacer un bloc à la fois le réseau 50 de mémoire, pour effectuer un effacement prioritaire et pour exécuter l'ordre absorbé d'effacement. Le dispositif de commande 240 d'effacement se fie à des algorithmes 250, 252 et 254 pour effacer des blocs de mémoire. Chaque algorithme 250, 252 et 254 effectue une tâche spécifique et renvoie la commande au dispositif de commande 240 d'effacement. Un bloc 250 de condition préalable empêche un effacement excessif de cellules de mémoire situées à l'intérieur d'un bloc, pendant un effacement, en élevant la tension de seuil de chaque cellule de mémoire à un niveau minimal. Le bloc d'effacement 252 efface un bloc de cellules de mémoire et vérifie ensuite que la tension de seuil de chaque cellule de mémoire est appropriée. Le bloc 254 de condition ultérieure vérifie et répare des cellules de mémoire effacées avec excès à l'intérieur d'un bloc de mémoire effacé à l'instant. Les algorithmes 250, 252 et 254 accomplissent leur tâche en appliquant des tensions élevées à un bloc du réseau de mémoire 50. Les algorithmes 240, 250, 252, 254 ne traitent des interruptions venant de la file d'attente 204 qu'à des points connus, au cours de leur exécution, où les tensions sont à des niveaux sûrs. Les algorithmes 240, 250, 252 et 254 incluent des fenêtres 300 d'interruption à ces emplacements sûrs pour traiter des interruptions. Les algorithmes 240, 250, 252 et 254 incluent chacun au moins une fenêtre 300 d'interruption. Les fenêtres d'inteftuption ne peuvent être ouvertes que lorsque le drapeau d'interruption maître est validé. Par conséquent, en invalidant le drapeau d'interruption maître avant l'exécution du dispositif de commande 240 d'effacement, le dispositif de commande 40 de réseau commande si l'effacement se produit sans interruption. Une fenêtre 300 d'interruption répond à des interruptions engendrées par la file d'attente d'opérations 204. S'il est possible de répondre immédiatement à l'ordre, la fenêtre 300 d'interruption le fait. Une fenêtre 300 d'interruption répond immédiatement à des ordres effacement en les absorbant et en validant la file d'attente d'opérations 204 pour recevoir des ordres additionnels. La fenêtre 300 d'interruption répond à des ordres de programme en les exécutant immédiatement, si possible. Si une exécution immédiate d'un ordre de programme n'est pas possible, la fenêtre 300 d'interruption assure une exécution rapide de tout ordre d'effacement qui doit précéder une exécution d'ordre de programme. Etant donné cette vue d'ensemble, on considère maintenant le schéma logique de la Figure 6, qui illustre en détail le dispositif de commande 240 d'effacement. L'exécution du dispositif de commande 240 d'effacement commence à la réception d'un ordre d'effacement de bloc à un instant où aucun autre ordre d'effacement de bloc n'est en file d'attente, ni à l'intérieur de la file d'attente d'opérations 204, ni par absorption. En réponse, le dispositif de commande 240 d'effacement exécute en premier lieu un certain nombre de tâches d'aménagement aux étapes 242 à 248. Le dispositif de commande 240 d'effacement commence à l'étape 242 en plaçant à !BSY le bit RDY/!BSY associé au bloc à effacer. Ceci indique que le bloc est impliqué dans une certaine opération. Le dispositif de commande 240 d'effacement initialise ensuite, à l'étape 244, le registre de priorité à l'intérieur du réseau de commande 40 d'effacement. Le dispositif de commande 240 d'effacement utilise le registre de priorité pour déterminer si un effacement prioritaire est en cours ou est achevé à l'instant. Le dispositif de commande 240 d'effacement utilise aussi le registre de priorité pour placer un drapeau à un bloc pour un effacement prioritaire; c'est-à-dire pour l'effacement suivant. L'initialisation du registre de priorité indique au dispositif de commande 240 d'effacement qu'aucun effacement prioritaire n'est en cours et qu'aucun bloc n'est marqué d'un drapeau pour un effacement suivant immédiat. Selon un mode de réalisation, le registre de priorité est initialisé en le plaçant à une valeur de FF, en hexadécimal. Le dispositif de commande 240 d'effacement avance de l'étape 244 à l'étape 246. Pendant l'étape 246, le dispositif de commande 240 d'effacement choisit un emplacement sûr pour le retour après traitement d'une interruption et il mémorise l'adresse de cet emplacement dans le registre de retour d'interruption du compteur 234 de programme. L'emplacement de retour choisi à cet instant est l'étape 246. Selon un mode de réalisation, le registre de retour d'interruption est placé en envoyant un ordre de validation d'interruption ENI, qui valide aussi le drapeau d'interruption de file d'attente d'opérations. Afin d'empêcher toute interruption à un quelconque emplacement différent des emplacements connus et sûrs pendant l'exécution du programme d'effacement, le dispositif de commande 240 d'effacement invalide à l'étape 248 le drapeau d'interruption de file d'attente d'opérations. Selon un mode de réalisation, le dispositif de commande 240 d'effacement y parvient au moyen d'un ordre DSI d'invalidation d'interruptions de file d'attente d'opérations. On suppose dans toute la description qui suit que le drapeau d'interruption maître est validé initialement. Cependant, ceci n'est pas nécessaire. Le drapeau d'interruption maître peut être validé ou invalidé par le dispositif de commande 40 de réseau avant de commencer l'exécution du dispositif de commande 240 d'effacement. Si le drapeau maître est invalidé, aucune interruption n'est traitée. Le dispositif de commande 240 d'effacement est prêt à commencer à effacer un bloc de mémoire quand l'étape 248 est achevée. Le dispositif de commande 240 d'effacement efface le bloc associé à l'ordre actuel d'effacement de bloc au cours des trois étapes suivantes en utilisant un bloc 250 de condition préalable, un bloc 252 d'effacement 252 et un bloc 254 de condition ultérieure, qui incluent chacun une fenêtre 300 d'interruption. Quand le bloc est effacé, le dispositif de commande 240 d'effacement passe à l'étape 255 pour indiquer que le bloc est maintenant prêt et disponible pour d'autres opérations. Le dispositif de commande 240 d'effacement effectue ceci en faisant passer à RDY le bit RDY/!BSY du bloc. Le dispositif de commande 240 d'effacement n'enlève pas immédiatement de la file d'opérations 204 l'ordre d'effacement. Le premier ordre d'effacement reçu reste dans la file d'attente d'opérations 204 en tant qu'élément de retenue d'emplacement pour tous les ordres d'effacement absorbés jusqu à ce qu'ils aient tous été exécutés. On va maintenant décrire l'absorption et l'exécution d'ordres d'effacement. Après avoir a achevé l'effacement du premier bloc, le dispositif de commande 240 d'effacement va maintenant traiter les effets de toutes interruptions reçues précédemment. Le dispositif de commande 240 d'effacement traite en premier lieu les effets des ordres de programme interrompants aux étapes 256, 258, 280, 282, 270, 272 et 300. Ceci peut impliquer d'exécuter un effacement prioritaire aux étapes 258, 280 et 282 ou d'exécuter l'ordre de programme aux étapes 270, 272 et 300. Ces tâches achevées, le dispositif de commande 240 d'effacement passe, aux étapes 260, 262, 264 et 266, à l'identification et à l'exécution d'ordres absorbés d'effacement. La manière selon laquelle le dispositif de commande 240 d'effacement et la fenêtre 300 d'interruption accomplissent ces tâches peut être comprise en utilisant des exemples. Considérons en premier lieu la manière dont les algorithmes 240 et 300 absorbent des ordres d'effacement reçus pendant l'exécution d'un autre ordre d'effacement. La Figure 7A illustre une situation dans laquelle un ordre d'effacement est absorbé: l'utilisateur envoie un deuxième ordre d'effacement pendant l'exécution d'un premier ordre d'effacement. La file d'attente principale mémorise un ordre d'effacer un bloc 5, qui est l'ordre de l'élément de retenue d'emplacement, et qui est actuellement en cours d'exécution. Le bit RDY/!BSY du bloc 5 a été placé à !BSY. La file d'attente secondaire mémorise l'ordre interrompant, c'est-à-dire l'ordre d'effacement du bloc 4. La présence de l'ordre dans la file d'attente secondaire est signalée par une affirmation du signal d'interruption d'ordre prêt, CMDRDY, par la file d'attente d'opérations 204. La première fenêtre 300 d'interruption atteinte après la réception de l'ordre dans la file d'attente secondaire traite l'interruption provoquée par la réception de l'ordre d'effacement du bloc 4. La Figure 8 illustre sous forme d'un schéma logique la manière dont la fenêtre 300 d'interruption traite des interruptions d'ordres venant de la file d'attente d'opérations 204. En bref, la fenêtre 300 d'interruption détermine en premier lieu aux étapes 310 et 312 si une interruption peut être traitée. Si les drapeaux d'interruption le permettent, la fenêtre 300 d'interruption traite, aux étapes 314, 316, 318 et 320, des interruptions d'ordre d'effacement. Aux étapes 314, 316, 330, 332, 334, 336, 338, 340 et 342, la fenêtre 300 d'interruption traite des interruptions d'ordres de programme. Quand les interruptions d'ordres ont été traitées, au fur et à mesure, la fenêtre 300 d'interruption ferme effectivement la fenêtre en empêchant la file d'attente d'opérations 204 d'interrompre une exécution d'effacement sauf à un autre emplacement sûr. La fenêtre 300 d'interruption ouvre à l'étape 310 une fenêtre de temps pour traiter des interruptions venant de la file d'attente d'opérations 204 en validant le drapeau d'interruption de file d'attente d'opérations. Puis, il est déterminé à l'étape 312, sur la base de l'état du drapeau d'interruption maître, si des interruptions peuvent être traitées. Si le drapeau d'interruption maître est validé, la fenêtre 300 d'interruption saute de l'étape 312 à l'étape 314. Le dispositif de commande 240 d'effacement permet au drapeau d'interruption maître de rester validé, tant qu'il n'existe à l'intérieur de la file d'attente secondaire aucun ordre de programme qui ne puisse pas être exécuté immédiatement. Selon l'exemple actuel, le drapeau d'interruption maître est validé parce que la file d'attente d'opérations 204 ne mémorise aucun ordre de programme d'un tel type. La fenêtre 300 d'interruption répond par un saut de séquence de l'étape 312 à l'étape 314. Après avoir déterminé qu'une interruption venant de la file d'attente d'opérations 204 peut être traitée maintenant, la fenêtre 300 d'interruption détermine pendant l'étape 314 s'il existe un ordre à traiter. La fenêtre 300 d'interruption réalise cette détermination sur la base de l'état de CMDRDY. Dans l'exemple actuel, CMDRDY est affirmé en indiquant qu'il existe un ordre dans la file d'attente secondaire. La fenêtre 300 d'interruption répond en passant à l'étape 316. La fenêtre 300 d'interruption examine la file d'attente secondaire pendant l'étape 316 pour déterminer le type d'ordre qui doit être traité. Dans l'exemple actuel, la file d'attente secondaire contient un ordre d'effacement du bloc 4. La fenêtre 300 d'interruption saute donc à l'étape 318. L'ordre d'effacement du bloc 4 est absorbé pendant l'étape 318 en plaçant un bit d'absorption dans le registre d'état de bloc du bloc 4. Selon un mode de réalisation, le bit RDY/!BSY du bloc 4 est utilisé comme bit d'absorption. Ainsi, dans ce mode de réalisation, placer à !BSY le bit RDY/!BSY du bloc 4 indique à l'utilisateur que le bloc 4 est occupé et indique en outre au dispositif de commande 40 de réseau une absorption de l'ordre d'effacement du bloc 4. Après avoir absorbé l'ordre d'effacement du bloc 4, la fenêtre 300 d'interruption enlève l'ordre de la file d'attente secondaire à l'étape 320, comme illustré à la Figure 7B. Ceci permet à la file d'attente d'opérations 204 de recevoir de l'utilisateur encore un autre ordre. De cette manière, le dispositif de commande 40 de réseau peut absorber, et donc mettre en file d'attente, autant d'ordres d'effacement qu'il existe de blocs à l'intérieur du réseau de mémoire 50. Après avoir achevé son traitement d'un ordre d'effacement interrompant, la fenêtre 300 d'interruption saute de l'étape 320 à l'étape 322. Pendant l'étape 322, la fenêtre de temps dans laquelle les interruptions sont traitées est fermée en invalidant le drapeau d'interruption de file d'attente d'opérations. Ceci empêche l'affirmation de CMDRDY par suite d'une exécution d'un ordre d'effacement interrompant jusqu'à ce qu'une autre fenêtre 300 d'interruption soit atteinte. La fenêtre 300 d'interruption reprend ensuite un effacement à un point indiqué par une valeur mémorisée dans un registre de retour d'interruption à l'intérieur du dispositif de commande 40 de réseau. Comment des ordres d'effacement absorbés sont-ils identifiés et exécutés quand ils ont été absorbés? Pour simplifier, on considère de nouveau la situation qui suit l'absorption de l'ordre d'effacement du bloc 4 et qui est illustrée à la Figure 7B. Supposons en outre qu'une poursuite de l'exécution de l'ordre d'effacement du bloc 5 n'est interrompue que par des ordres d'effacement, et non par des ordres de programme. Ainsi, après exécution de l'étape 255 du dispositif de commande 240 d'effacement, le registre de priorité est encore initialisé. Puisque le registre de priorité indique qu'aucun effacement prioritaire n'a été effectué à l'instant, le dispositif de commande 240 d'effacement saute de l'étape 256 à l'étape 258. Le dispositif de commande 240 d'effacement saute de l'étape 258 à l'étape 260 parce que le registre de priorité indique aussi qu'aucun bloc n'est marqué d'un drapeau en vue d'un effacement prioritaire. A l'étape 260, le dispositif de commande 240 d'effacement commence le processus d'identification et de choix en vue de l'exécution d'un ordre absorbé d'effacement. Pendant l'étape 260, c'est le bloc de mémoire, situé à l'intérieur du réseau de mémoire 50, dont l'adresse de valeur est la plus élevée qui est choisi pour être examiné. Le dispositif de commande 240 d'effacement détermine à l'étape 262 si un ordre d'effacement a été absorbé pour le bloc choisi pour l'examen. Le dispositif de commande 240 d'effacement accomplit cette tâche en lisant le bit RDY/!BSY pour le bloc choisi pour examen. Si le bit RDY/!BSY est placé à RDY, aucun ordre d'effacement n'a été absorbé. Le dispositif de commande 240 d'effacement répond à ceci en passant à l'étape 266. Là, un autre bloc est choisi pour examen en décrémentant l'adresse de bloc par rapport à sa valeur précédente. Le dispositif de commande 240 d'effacement revient ensuite à l'étape 262 pour examiner le bit d'absorption associé au nouveau bloc choisi. Le premier ordre d'effacement absorbé identifié est exécuté. Dans l'exemple décrit, le dispositif de commande 240 d'effacement saute finalement de l'étape 262 à l'étape 246 parce qu'un ordre d'effacement du bloc 4 est marqué d'un drapeau par l'état !BSY de son bit RDY/!BSY. Le dispositif de commande 240 d'effacement place ensuite l'adresse du bloc 4 dans le registre alternatif 78 d'adresses et commence à exécuter l'ordre d'effacement du bloc 4. Lorsque l'effacement du bloc 4 est achevé, le dispositif de commande 240 d'effacement ramène à RDY le bit RDY/!BSY. L'ordre dans lequel des blocs d'effacement absorbés sont choisis pour exécution n'affecte pas le présent procédé d'absorption et d'exécution d'ordres d'effacement de blocs. D'autres procédés de choix d'ordres absorbés d'effacement de blocs en vue de leur exécution sont possibles et sont compatibles avec le présent procédé. On va maintenant décrire le cas où un ordre de programme interrompt une exécution d'effacement, sans effacement prioritaire. Un traitement d'interruption pendant une exécution d'ordre d'effacement devient plus complexe lorsque l'ordre d'interruption est un ordre de programme. Considérons en premier lieu la situation relativement simple qui se produit lorsqu'aucun ordre d'effacement de bloc n'a été reçu pour le bloc associé à l'ordre de programme interrompant concerné. La Figure 9A illustre une de ces situations. Un ordre de programme associé au bloc 1 a été placé à l'instant dans la file d'attente secondaire pendant l'exécution de l'ordre d'effacement du bloc 4. En réponse, la file d'attente d'opérations 204 affirme le signal CMDRDY. Le bloc en cours d'effacement est indiqué par le registre alternatif 78 d'adresses. L'ordre de l'élément de retenue d'emplacement, le bloc d'effacement 5, reste dans la file d'attente principale de la file d'attente d'opérations 204. Un certain temps après la réception de l'ordre de programmation du bloc 1, une fenêtre 300 d'interruption est atteinte. L'exécution des étapes 310, 312 et 314 de la fenêtre 300 d'interruption se produit comme décrit précédemment, puisque le drapeau d'interruption maître est validé et que CMDRDY est affirmé. La fenêtre 300 d'interruption passe donc de l'étape 316 à l'étape 314. L'ordre qui réside dans la file d'attente secondaire est examiné pendant l'étape 316. La fenêtre 300 d'interruption répond à une identification d'un ordre de programme en passant à l'étape 330. L'étape 330 commence le processus consistant à déterminer s'il existe des ordres d'effacement qui doivent être exécutés avant l'exécution de l'ordre de programme. I1 s'agit d'un processus à étapes multiples. La fenêtre 300 d'interruption détermine en premier lieu à l'étape 330 si le bloc en cours d'effacement est le bloc qui doit être programmé. Si tel est le cas, l'effacement du bloc actuel est un effacement prioritaire et est achevé avant l'interruption. Cependant, dans notre exemple, le bloc 4 est actuellement en cours d'exécution et l'ordre de programme est associé au bloc 1. On notera que le bloc en cours d'effacement peut cependant être effacé avant l'exécution de l'ordre de programme, même si son effacement n'est pas une priorité. La fenêtre d'interruption répond en passant de l'étape 330 à l'étape 336. La fenêtre 300 d'interruption détermine pendant l'étape 336 si le bloc associé à l'ordre de programme est prêt à être programmé. Cette détermination est effectuée en examinant le bit RDY/!BSY associé au bloc de programme. Si, comme c'est le cas pour l'exemple actuel, aucun ordre d'effacement n'a été absorbé pour le bloc de programme, c'est-à-dire si le bit RDY/!BSY est RDY, le bloc de programme est prêt à être programmé. La fenêtre 300 d'interruption passe à l'étape 338, afin de programmer le bloc de programme. Une exécution de l'ordre de programme n'est pas interrompue parce que la prise en charge de programme n'inclut aucune fenêtre 30 d'interruption. La fenêtre 300 d'interruption passe à l'étape 322 quand l'ordre de programme a été exécuté et enlevé de la file d'attente secondaire. La fenêtre 300 d'interruption est ensuite fermée à l'étape 322 et le dispositif de commande 40 de réseau revient à l'exécution d'effacement. On va maintenant décrire le cas où un ordre de programme interrompt une exécution d'effacement, avec un effacement prioritaire. Une interruption d'une exécution d'ordre d'effacement par un ordre de programme devient plus compliquée lorsque des blocs de mémoire doivent être effacés avant l'exécution de l'ordre de programme. Ceci peut se produire dans deux situations. Considérons en premier lieu la plus simple de ces deux situations: un ordre de programme est reçu pour un bloc qui est en cours d'effacement. La Figure 9B illustre cette situation. La file d'attente secondaire contient un ordre de programmer une adresse située à l'intérieur d'un bloc 1 et CMDRDY a été affirmé. Un ordre d'effacement concernant le bloc 1 a été absorbé précédemment, comme indiqué par l'état 1BSY de son bit RDY/!BSY et est maintenant en cours d'exécution, comme indiqué par son adresse dans le registre alternatif 78 d'adresses. A cet instant, avant l'exécution de l'étape 332, le registre de priorité est initialisé en indiquant qu'aucun effacement prioritaire n'est en cours d'exécution. L'interruption d'ordre représentée par l'affirmation de CMDRDY est traitée par la première fenêtre 300 d'interruption qui est atteinte ensuite. La fenêtre 300 d'interruption exécute les étapes 310, 312, 314 et 316 et passe à l'étape 330 comme décrit précédemment. La fenêtre 300 d'interruption découvre pendant l'étape 330 que le bloc associé à l'ordre de programme est actuellement en cours d'effacement. Ainsi, l'ordre d'effacement actuellement en cours d'exécution doit être achevé avant l'exécution de l'ordre de programme. En fait, un effacement de ce bloc est maintenant une priorité. La fenêtre 300 d'interruption répond en passant à l'étape 332 où la valeur située dans le registre de priorité est modifiée pour indiquer qu'un effacement prioritaire est en cours. Selon un mode de réalisation, la valeur indicative d'un effacement prioritaire est 00 en hexadécimal. Puis, la fenêtre 300 d'interruption passe à l'étape 334. La fenêtre 300 d'interruption accélère une exécution définitive de l'ordre de programme en empêchant toutes autres interruptions dans l'exécution de l'ordre d'effacement prioritaire. La fenêtre 300 d'interruption y parvient en invalidant à l'étape 334 le drapeau d'interruption maître. La fenêtre 300 d'interruption invalide ensuite à l'étape 322 le drapeau d'interruption de la file d'attente d'opérations et reprend l'exécution de l'ordre interrompu d'effacement. L'exécution de l'ordre interrompu d'effacement, qui est maintenant devenu un ordre d'effacement prioritaire, reprend sans autre traitement d'interruptions venant de la file d'attente d'opérations 204. La raison en est que l'état invalidé du drapeau d'interruption maître amène des fenêtres ultérieures 300 d'interruption à passer de l'étape 312 à 322, en sautant par delà le traitement d'interruption. Quand l'exécution de l'ordre d'effacement prioritaire est achevée, le dispositif de commande 240 d'effacement fait passer à RDY à l'étape 255 le RDY/!BSY concernant, en indiquant que d'autres ordres peuvent être exécutés sur le bloc. Le dispositif de commande 240 d'effacement est maintenant libre de passer à l'exécution de l'ordre de programme qui a provoqué l'effacement prioritaire. Ceci est effectué à l'étape 256 en déterminant si un effacement prioritaire s'est effectué à l'instant, en examinant le registre de priorité. Dans l'exemple actuel, le registre de priorité indique qu'un effacement prioritaire s'est effectué à l'instant. Le dispositif de commande 240 d'effacement passe donc à l'étape 270, où il ramène à sa valeur initialisée le registre de priorité. Puis, à l'étape 272, le dispositif de commande 240 d'effacement assure que la fenêtre 300 d'interruption atteinte immémdiatement ensuite traite l'ordre de programme. Le dispositif de commande 240 d'effacement y parvient en validant le drapeau d'interruption maître. Selon le mode de réalisation, ceci est effectué au moyen de l'ordre de drapeau de validation d'interruptions de file d'attente d'opérations ou ENI. Le dispositif de commande 240 d'effacement passe ensuite de l'étape 272 à une fenêtre 300 d'interruption. Le bloc 1 est maintenant prêt à être programmé et le sera. L'exécution de la fenêtre 300 d'interruption se poursuit en passant par les étapes 310, 312, 314, 330, 336 et 338 comme décrit précédemment. Considérons maintenant la deuxième situation dans laquelle une exécution d'ordre de programme doit être précédée par l'exécution d'ordres reçus précédemment d'effacement de blocs. Ceci se produit lorsqu'un ordre de programme est reçu pour un bloc qui a été marqué d'un drapeau en vue de son effacement mais qui n'est pas actuellement en cours d'effacement. La Figure 9C illustre cette situation. La file d'attente secondaire contient un ordre de programmation du bloc 1. Un ordre d'effacement du bloc 1 a été absorbé, comme indiqué par l'état !BSY de son bit RDY/!BSY. Le bloc 4 est actuellement en cours d'effacement, ce qui est indiqué par l'état de son bit RDY/!BSY et par son adresse dans le registre alternatif 78 d'adresses. Le registre de priorité est initialisé parce qu'aucun effacement prioritaire n'est actuellement en cours d'exécution. De plus, le drapeau d'interruption maître est validé et le drapeau d'interruption de file d'attente est invalidé. Lorsqu'unie fenêtre 300 d'interruption est atteinte après la réception de l'ordre de programme, la fenêtre 300 d'interruption répond à la situation illustrée à la Figure 9C en exécutant les étapes 310, 312, 314, 316, 330 et en atteignant l'étape 336, comme décrit précédemment. La fenêtre 300 d'interruption découvre pendant l'étape 336 que le bloc à programmer, le bloc 1, n'est pas prêt à être programmé parce que son bit RDY/!BSY indique une absorption antérieure d'un ordre d'effacement qui concerne le bloc 1. Ceci signifie que c'est non pas un, mais deux ordres d'effacement qui doivent être exécutés avant l'exécution de l'ordre de programme. Une modification du dispositif de commande 40 de réseau qui permet de sauvegarder l'état actuel de l'ordre d'effacement non prioritaire, c'est-à-dire l'ordre d'effacement du bloc 4, réduitrait ce nombre à un, c'est-à-dire l'ordre d'effacement prioritaire seul. La fenêtre 300 d'interruption répond à cette situation en plaçant un drapeau pour le bloc associé à l'ordre de programme d'effacement qui suit. La fenêtre 300 d'interruption y parvient à l'étape 340 en mémorisant dans le registre de priorité l'adresse du bloc à programmer, le bloc 1 dans notre exemple. Ensuite, une exécution rapide de l'ordre interrompu d'effacement, le bloc d'effacement 4 dans notre exemple, est assurée en invalidant à l'étape 342 le drapeau d'interruption maître. La fenêtre 300 d'interruption invalide ensuite à l'étape 322 le drapeau d'interruption de file d'attente d'opérations et revient au sous-programme interrompu. Une exécution de l'ordre d'effacement interrompu s'effectue maintenant sans aucun traitement d'interruption, comme décrit précédemment. Le dispositif de commande 240 d'effacement passe de nouveau à l'étape 256 pour déterminer si un effacement prioritaire s'est produit à l'instant. Aucun ne s'est produit dans l'exemple actuel, et le dispositif de commande 240 d'effacement passe donc de l'étape 256 à l'étape 258. Le dispositif de commande 240 d'effacement détermine à l'étape 258, en examinant le registre de priorité, s'il existe un ordre d'effacement dont l'exécution constitue une priorité. Selon le présente exemple, le registre de priorité indique que l'effacement du bloc 1 est une priorité, en d'autres termes, que le bloc 1 est le suivant à effacer. Ainsi, pendant l'étape 280, l'adresse mémorisée dans le registre de priorité est placée dans le registre alternatif 78 d'adresses afin de permettre une opération sur ce bloc. Le dispositif de commande 240 d'effacement modifie ensuite la valeur mémorisée dans le registre de priorité pour indiquer qu'un effacement prioritaire est en cours. Ceci est effectué à l'étape 282. Le dispositif de commande 240 d'effacement commence maintenant à effacer le bloc indiqué par le registre alternatif 78 d'adresses en remontant à l'étape 246. Un effacement de ce bloc se produit lui aussi sans aucun traitement d'interruptions venant de la file d'attente d'opérations 204, bien que CMDRDY soit affirmé. La raison en est que le drapeau d'interruption maître reste invalidé. Le dispositif de commande 240 d'effacement passe donc encore une fois à l'étape 256. Cette fois, un effacement prioritaire s'est produit à l'instant. Le dispositif de commande 240 d'effacement traite l'exécution de l'ordre de programme qui a provoqué l'effacement prioritaire en passant par les étapes 270, 272 et 300, comme décrit précédemment. Finalement, il vient un temps où tous les ordres de programmes interrompants et tous les ordres d'effacement absorbés ont été exécutés. Lorsque ceci se produit, le dispositif de commande 240 d'effacement passe de l'étape 264 à l'étape 268. L'ordre de l'élément de retenue d'emplacement est finalement enlevé de la file d'attente d'opérations 204. Le dispositif de commande 240 d'effacement cesse ensuite toute exécution jusqu'a ce qu'il reçoive l'ordre d'effacement suivant. La Figure 10 illustre sous forme de schéma fonctionnel un ordinateur personnel 400. L'ordinateur personnel 400 inclut une unité centrale de traitement, ou UCT, 402 et un moniteur 404 pour afficher visuellement l'information à un utilisateur de l'ordinateur. Un clavier 406 permet à l'utilisateur de l'ordinateur d'entrer une donnée dans l'unité centrale de traitement 402. En déplaçant une souris 408, l'utilisateur de l'ordinateur peut déplacer un indicateur affiché sur le moniteur. L'utilisateur de l'ordinateur peut aussi entrer une donnée pour l'unité centrale de traitement 402 par l'intermédiaire d'une tablette 409 à base de stylet, quimémorise une donén qui y est entrée en utilisant une pointe, une baguette, un stylet ou un autre dispositif adapté ç une opération manuelle. La mémoire 410 mémorise la donnée utilisée par l'unité centrale de traitement. La mémoire 410 inclut typiquement une unité de disque magnétique en vue d'une mémorisation dans une mémoire de masse. La mémoire 410 inclut aussi typiquement un dispositif de mémoire non volatile 20 pour mémoriser des données auxquelles l'accès doit être fréquent et rapide. En résumé, un procédé d'interruption de l'exécution d'ordres d'effacement pour exécuter un ordre de programme reçu ultérieurement a été décrit. I1 a également été décrit un procédé d'absorption d'ordres d'effacement de blocs qui permet de mettre en file d'attente un ordre d'effacement de blocs pour chaque bloc de mémoire, bien que la profondeur de la file d'attente d'opérations soit limitée. Une hiérarchisation parmi des ordres absorbés d'effacement de blocs se produit en réponse à des ordres de programmes interrompants. Dans le document ci-dessus, l'invention a été décrite en référence à des modes de réalisation spécifiques donnés à titre d'exemple. I1 est cependant évident que diverses modifications et variantes peuvent y être apportées sans s'écarter de l'esprit et du cadre plus larges de l'invention exposés dans les revendications annexées. La présente description, y compris les dessins, doit donc être regardée comme donnée à titre d'illustration et non dans un sens restrictif. REVENDICATIONS 1. Procédé de mise en file d'attente d'une première multiplicité d'ordres d'effacement dans un dispositif de mémoire non volatile qui inclut une file d'attente d'opérations destinée à mettre des ordres d'effacement en file d'attente, caractérisé en ce que: la file d'attente d'opérations inclut deux sousfiles d'attente, le dispositif de mémoire non volatile comprend un réseau de mémoire principale incluant une deuxième multiplicité de blocs de mémoire, la deuxième multiplicité de blocs de mémoire est supérieure au nombre des sous-files d'attente incluses dans la file d'attente d'opérations, la première multiplicité d'ordres d'effacement est supérieure au nombre de sous-files d'attente incluses dans la file d'opérations, chaque ordre d'effacement est associé à un bloc de mémoire, et en ce que le procédé de mise en file d'attente comprend les étapes (310 à 316, 318, 320) consistant à: a) interrompre une exécution d'un premier ordre d'effacement associé à un premier bloc en réponse à une réception d'un deuxième ordre d'effacement associé à un deuxième bloc de mémoire de la file d'attente d'opérations; b) absorber l'ordre pour effacer le deuxième bloc; et c) valider la file d'attente d'opérations pour recevoir des ordres additionnels. 2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend en outre l'étape consistant à: e) reprendre l'exécution du premier ordre d'effacement après l'étape c). 3. Procédé selon la revendication 2, caractérisé en ce qu'il comprend en outre l'étape consistant à: f) exécuter le deuxième ordre d'effacement. 4. Procédé selon la revendication 3, caractérisé en ce qu'il comprend en outre l'étape consistant à: g) déterminer si des ordres d'effacement ont été absorbés. 5. Procédé à mettre en oeuvre dans un dispositif de mémoire non volatile à semi-conducteur incluant une première multiplicité de blocs de mémoire et une file d'attente d'opérations pour mémoriser des ordres de l'utilisateur, destiné à hiérarchiser un ordre de programme associé à un premier bloc de mémoire lorsqu'un ordre d'effacement associé au premier bloc de mémoire a été absorbé, et caractérisé en ce qu'il comprend les étapes consistant a: a) si un ordre d'effacement associé à un deuxième bloc est en cours d'exécution (310 à 316, 330, 336, 338): 1) achever l'effacement du deuxième bloc; 2) effacer le premier bloc; et 3) programmer le premier bloc. 6. Procédé selon la revendication 5, caractérisé en ce que l'étape al) se produit sans interruption. 7. Procédé selon la revendication 5, caractérisé en ce que l'étape a2) se produit sans interruption. 8. Procédé selon la revendication 5, caractérisé en ce que l'étape a3) se produit sans interruption. 9. Procédé selon la revendication 5 caractérisé en ce que un ordre d'effacement a été absorbé pour un troisième bloc de mémoire, et en ce que les étapes al), a2) et a3) sont effectués avant l'effacement du troisième bloc. 10. Procédé à mettre en oeuvre dans un dispositif de mémoire non volatile à semi-conducteur incluant une première multiplicité de blocs de mémoire et une file d'attente d'opérations pour mémoriser des ordres de l'utilisateur, destiné à hiérarchiser un ordre de programme associé à un premier bloc de mémoire pour lequel un ordre d'effacement a été reçu précédemment, et caractérisé en ce qu il comprend les étapes consistant a: a) si un ordre d'effacement associé au premier bloc est en cours d'exécution (310 à 316, 332, 334): 1) achever l'effacement du premier bloc; et 2) programmer le premier bloc. 11. Procédé selon la revendication 10, caractérisé en ce que l'étape al) se produit sans interruption. 12. Procédé selon la revendication 10, caractérisé en ce que l'étape a2) se produit sans interruption. 13. Procédé à mettre en oeuvre dans un dispositif de mémoire non volatile à semi-conducteur incluant une première multiplicité de blocs de mémoire et une file d'attente d'opérations pour mémoriser des ordres de l'utilisateur, destiné à mettre en oeuvre un ordre d'effacement associé à un premier bloc de mémoire après réception d'un ordre de programme associé au premier bloc, caractérisé en ce qu'il comprend les étapes consistant a: a) si un ordre d'effacement associé à un deuxième bloc est en cours d'exécution à la réception de l'ordre de programme (310 à 316, 330, 336, 338): 1) achever l'effacement du deuxième bloc; 2) effacer le premier bloc; 3) programmer le premier bloc; b) a) si un ordre d'effacement associé au premier bloc est en cours d'exécution à la réception de l'ordre de programme (310 à 316, 330, 332, 334): 1) achever l'effacement du premier bloc; et 2) programmer le premier bloc. 14. Procédé selon la revendication 13, caractérisé en ce que l'étape al) se produit sans interruption. 15. Procédé selon la revendication 13, caractérisé en ce que l'étape a2) se produit sans interruption. 16. Procédé selon la revendication 13, caractérisé en ce que l'étape a3) se produit sans interruption. 17. Procédé selon la revendication 13, caractérisé en ce que l'étape bl) se produit sans interruption. 18. Procédé selon la revendication 13, caractérisé en ce que l'étape b2) se produit sans interruption. 19. Procédé selon la revendication 13, caractérisé en ce que un ordre d'effacement associé à un troisième bloc de mémoire a été absorbé et en ce que les étapes al), a2) et a3) sont effectuées avant l'effacement du troisième bloc. 20. Procédé à mettre en oeuvre dans un dispositif de mémoire non volatile à semi-conducteur incluant une première multiplicité de blocs de mémoire et une file d'attente d'opérations pour mémoriser des ordres de l'utilisateur, destiné à traiter une interruption d'effacement d'un premier bloc de mémoire due à un ordre de programme associé à un deuxième bloc de mémoire, caractérisé en ce qu'il comprend les étapes consistant à: a) déterminer si le deuxième bloc doit être effacé avant l'exécution de l'ordre de programme (310 à 316, 330, 336); et b) si le deuxième bloc ne doit pas être effacé avant l'exécution de l'ordre de programme, programmer le deuxième bloc (338) avant d'achever l'effacement du premier bloc. 21. Procédé selon la revendication 20, caractérisé en ce que l'étape a) comprend l'étape consistant à déterminer si un effacement du deuxième bloc a été interrompu par la réception de l'ordre de programme. 22. Procédé selon la revendication 21, caractérisé en ce que l'étape a) comprend en outre l'étape consistant à déterminer si un ordre d'effacement associé au deuxième bloc a été reçu avant la réception de l'ordre de programme 23. Procédé selon la revendication 21, caractérisé en ce que (310 à 316, 330, 336, 340, 342) le deuxième bloc doit être effacé avant la programmation du deuxième bloc lorsqu'il est déterminé aucun effacement du deuxième bloc a été interrompu par la réception de l'ordre de programme. 24. Procédé selon la revendication 22, caractérisé en ce que (310 à 316, 330, 336, 340, 342) le deuxième bloc doit être effacé avant la programmation du deuxième bloc lorsqu'il est déterminé qu'un ordre d'effacement associé au deuxième bloc a été reçu avant la réception de l'ordre de programme. 25. Mémoire non volatile à semi-conducteur caractérisée en ce qu'elle comprend: a) un réseau de mémoire (5) organisé sous la forme d'une première multiplicité de blocs de mémoire; b) une file d'attente (204) d'opérations destinée à mémoriser des ordres d'opérations sur le réseau de mémoire, la file d'attente d'opérations incluant une deuxième multiplicité de sous-files d'attente; c) un dispositif de commande pour exécuter des ordres mémorisés dans la file d'attente d'opérations, le dispositif de commande incluant: 1) un moyen d'interruption (234), qui répond à une réception d'un deuxième ordre par la file d'attente d'opérations et qui est destiné à interrompre l'exécution d'un premier ordre mémorisé dans la file d'attente d'opérations; et 2) un moyen d'absorption (300) d'ordre d'effacement en réponse au moyen d'interruption, destiné à absorber le deuxième ordre et à valider la file d'attente d'opérations pour recevoir un ordre, en validant ainsi le dispositif de mémoire non volatile à semi-conducteur pour la mise en file d'attente d'une troisième multiplicité d'ordres qui est supérieure à la deuxième multiplicité de sous-files d'attente.