FR2711834A1 - Circuit programmable de mémoire de codes pour mémoire flash. - Google Patents
Circuit programmable de mémoire de codes pour mémoire flash. Download PDFInfo
- Publication number
- FR2711834A1 FR2711834A1 FR9412595A FR9412595A FR2711834A1 FR 2711834 A1 FR2711834 A1 FR 2711834A1 FR 9412595 A FR9412595 A FR 9412595A FR 9412595 A FR9412595 A FR 9412595A FR 2711834 A1 FR2711834 A1 FR 2711834A1
- Authority
- FR
- France
- Prior art keywords
- memory
- circuit
- network
- address
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
Landscapes
- Read Only Memory (AREA)
Abstract
L'invention concerne un circuit programmable de mémoire (40) de codes qui est inclus dans un dispositif de commande de réseau destiné à programmer et effacer un réseau de mémoire principale non volatile en fonction d'instructions mémorisées dans le circuit de mémoire (40) de codes et incluant un compteur destiné à engendrer une première adresse pour rechercher une instruction. Le réseau de mémoire principale inclut un trajet de lecture et d'écriture pour programmer et lire des cellules de mémoire. Le circuit de mémoire (40) de codes comprend: une mémoire non volatile (100) d'instructions de programmation et d'effacement du réseau de mémoire principale; un circuit de décodage (104, 108) d'adresses; un multiplexeur (102) d'adresses; un circuit d'interface (110) de mémoire principale. L'invention concerne aussi un dispositif de mémoire non volatile à dispositif de commande de réseau incluant un tel circuit de mémoire (40) de codes, et un procédé de mise en œuvre correspondant.
Description
La présente invention concerne des mémoires non volatiles à semi-
conducteurs. De façon plus particulière, la présente invention concerne un circuit programmable de mémoire de codes qui mémorise les instructions de programmation et d'effacement d'un réseau de mémoire principale d'un dispositif de
mémoire non volatile.
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
de nouvelles données.
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 choi: ou de sélection pour la commande d'effacement d'octets individuels. Les mémoires flash en revanche
atteignent typiquement des densités beaucoup plus éle-
vées en utilisant des cellules à transistor unique. Cer-
taines 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", 28F068SA commercialisée par Intel Corporation de Santa Clara, Californie, qui est une mémoire flash de 8 mégabits. La mémoire flash 28F008SA inclut un registre d'ordres pour gérer l'effacement et la programmation. Le contenu du registre d'ordres sert d'entrée à une machine d'état interne qui commande le circuit d'effacement et de programmation. La machine d'état interne est réalisée en utilisant un réseau logique programmable, ou PLA, qui mémorise les algorithmes d'effacement et de programmation du réseau de mémoire flash. Après fabrication du réseau logique programmable, les algorithmes mémorisés par celui-ci ne peuvent être modifiés. Il n'est donc pas possible d'ajouter une fonctionnalité à un dispositif de
mémoire après sa fabrication.
C'est un but de la présente invention que de permettre une modification d'un dispositif de mémoire
non volatile après sa fabrication.
C'est un autre but de la présente invention que de permettre une modification d'algorithmes qui commandent la programmation et l'effacement d'un dispositif de mémoire non volatile après la
fabrication du dispositif.
Selon un premier aspect, ces buts sont atteints grâce à un circuit programmable de mémoire de codes inclus dans un dispositif de commande de réseau, caractérisé en ce que le dispositif de commande de réseau programme et efface un réseau de mémoire principale non volatile en fonction d'instructions mémorisées dans le circuit de mémoire de codes, le dispositif de commande de réseau inclut un compteur destiné à engendrer une première adresse pour rechercher une instruction, le réseau de mémoire principale inclut un trajet de lecture et d'écriture pour programmer et lire des cellules de mémoire, et en ce que le circuit de mémoire de codes comprend: a. une mémoire non volatile d'instructions pour mémoriser des instructions de programmation et d'effacement du réseau de mémoire principale; b. un circuit de décodage d'adresses pour adresser une première instruction dans le réseau de mémoire d'instructions en réponse à une adresse de réseau, le circuit de décodage d'adresses produisant un signal d'instruction; c. un multiplexeur d'adresses pour engendrer l'adresse du réseau en choisissant la première adresse dans un premier mode et une deuxième adresse dans un deuxième mode; d. un circuit de trajet de détection pour détecter les instructions dans le premier mode en réponse au signal d'instruction; e. un circuit d'interface de mémoire principale pour coupler le signal d'instruction au trajet de
lecture et d'écriture dans le deuxième mode.
La mémoire d'instructions peut inclure de multiples cellules de mémoire non volatile organisées en rangées et en colonnes et en ce que le circuit de décodage d'adresses comprend: a. un décodeur X pour adresser une rangée de cellules de mémoire en réponse à l'adresse de réseau; et b. un circuit de choix Y pour adresser une colonne de cellules de mémoire en réponse à l'adresse
de réseau.
et le circuit de mémoire de codes comprend de préférence, dans ce cas: a. un circuit d'exclusion de choix pour exclure le choix des colonnes de cellules de mémoire en
réponse à l'adresse de réseau.
Le circuit de mémoire de codes peut comprendre: a. un générateur de tension pour engendrer des
tensions pour le circuit de décodage d'adresses.
Le circuit d'interface de réseau principal peut
comprendre de multiples portes de passage.
La donnée d'instruction peut inclure une série de bits et chaque bit est mémorisé dans le réseau de mémoire d'instructions en utilisant deux cellules de mémoire. Selon un deuxième aspect, la présente invention réalise un dispositif de mémoire non volatile caractérisé en ce qu'il comprend: a. un réseau de mémoire principale non volatile pour mémoriser des données d'utilisateur; b. un trajet de lecture et d'écriture couplé au réseau de mémoire principale; c. un dispositif de commande de réseau pour programmer et effacer la donnée d'utilisateur selon des instructions en réponse à des ordres de l'utilisateur, le dispositif de commande de réseau incluant un circuit de mémoire de codes, le circuit de mémoire de codes recherchant les instructions dans un premier mode, le circuit de mémoire de codes pouvant être modifié dans un deuxième mode, et en ce que le circuit de mémoire de codes comprend: 1) un réseau de mémoire non volatile d'instructions pour mémoriser des instructions; 2) un circuit de décodage d'adresses pour adresser une première instruction dans le réseau de mémoire d'instructions en réponse à une adresse de réseau, le circuit de décodage d'adresses produisant un signal d'instruction; 3) un multiplexeur d'adresses pour engendrer l'adresse du réseau en choisissant une première adresse dans un premier mode et une deuxième adresse dans un deuxième mode; 4) un circuit de trajet de détection pour produire la première instruction dans le premier mode en réponse au signal d'instruction; ) un circuit d'interface de réseau principal pour coupler les signaux d'instructions au trajet de lecture et d'écriture dans le deuxième mode; et d. Un tampon de page qui fournit des instructions au dispositif de commande de réseau dans le deuxième mode, les instructions mémorisées dans le tampon de page amenant le dispositif de commande de réseau à
modifier le réseau de mémoire d'instructions.
Le dispositif de mémoire non volatile peut comprendre en outre: d. Un circuit de registre de commande pour mémoriser des signaux de commande afin de placer la mémoire de codes dans le deuxième mode et le premier mode et dans ce cas, les signaux de commande sont, de préférence, commandés par l'utilisateur du dispositif de mémoire
non volatile.
Le réseau de mémoire d'instructions peut inclure de multiples cellules de mémoire non volatile organisées en rangées et en colonnes le circuit de décodage d'adresses comprenant: a. un décodeur X pour adresser une rangée de cellules de mémoire en réponse à l'adresse de réseau; et b. un circuit de choix Y pour adresser une colonne de cellules de mémoire en réponse à l'adresse
de réseau.
Dans ce cas le dispositif de mémoire non volatile peut comprendre en outre: c. un circuit d'exclusion de choix pour exclure le choix de colonnes de cellules de mémoire en réponse
à l'adresse de réseau.
Le dispositif de mémoire non volatile caractérisé peut comprendre: a. un générateur de tension pour engendrer des
tensions pour le circuit de décodage d'adresses.
Le circuit d'interface de réseau principal peut
comprendre de multiples portes de passage.
Le circuit de mémoire de codes peut donc inclure
aussi de nombreux circuits de support, cités ci-
dessus. Ces circuits peuvent fonctionner en plusieurs modes. Dans un mode de lecture, ces circuits de support assurent que la donnée d'instruction mémorisée dans la mémoire d'instruction est envoyée au dispositif de commande de réseau. Dans des modes de programmation et d'effacement, les circuits de support permettent de commander les niveaux de tensions appliqués à la mémoire des instructions et de sortir
des instructions pour des données pour l'utilisateur.
En d'autres termes, ces modes permettent de modifier la mémoire d'instructions. Les circuits des supports sont placés dans les divers modes par des signaux de
commande qui viennent par des registres de commande.
Puisque ces registres de commande sont accessibles à l'utilisateur du dispositif, l'utilisateur commande le mode dans lequel le circuit de mémoire de codes fonctionne. Selon un troisième aspect, l'invention fournit, de façon correspondante, un procédé de modification d'instructions mémorisées dans un circuit de mémoire de codes, les instructions donnant des directives à un dispositif de commande de réseau pour programmer et effacer un réseau de mémoire principale non volatile, le circuit de mémoire de codes incluant un réseau de mémoire non volatile d'instructions, le réseau de mémoire d'instructions mémorisant les instructions, caractérisé en ce qu'il comprend les étapes consistant à: a. mémoriser dans un tampon de page un programme de modification des instructions de la mémoire de programme; b. valider le tampon de page pour qu'il serve de source d'instructions pour le dispositif de commande de réseau; c. exécuter les instructions du tampon de page afin de modifier les instructions mémorisées dans le
circuit de mémoire de codes.
Le procédé peut comprendre en outre l'étape consistant à: d. Placer le circuit de mémoire de codes en un
deuxième mode dans lequel il peut être modifié.
Le procédé peut comprendre en outre l'étape consistant à: e. Configurer le tampon de page pour mémoriser
des instructions.
En d'autres termes, l'utilisateur écrit en premier lieu dans le tampon de page l'algorithme de programmation de la mémoire d'instructions. Il place ensuite le circuit de mémoire de codes dans un mode de programme en plaçant divers bits de commande à l'intérieur des registres de commande. Ces signaux de commande permettent à l'utilisateur de commander l'entrée d'adresse dans la mémoire d'instructions et de régler des niveaux de tension appliqués à la mémoire d'instructions. Ces signaux de commande couplent de plus la sortie du réseau de mémoire d'instructions à un circuit de haute tension situé à l'intérieur du trajet de lecture et d'écriture pour
permettre la programmation et la vérification.
L'utilisateur configure ensuite le tampon de page pour qu'il fonctionne comme source d'instructions pour le dispositif de commande de réseau. L'exécution des instructions contenues dans le tampon de page modifie
ensuite la mémoire d'instructions.
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, par les figures des dessins annexés dans lesquelles des références semblables 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 du
dispositif de commande de réseau.
La Figure 3 est un schéma fonctionnel du circuit
de mémoire de codes.
La Figure 4 illustre le Tableau I, qui définit
les modes du circuit de mémoire de codes.
La Figure 5 illustre le circuit de mise à la
masse de colonnes.
La Figure 6 illustre le Tableau II, qui définit le fonctionnement de la logique de décodage de mise à
la masse de colonnes.
La Figure 7A est un schéma fonctionnel du circuit
de trajet de détection.
La Figure 7B illustre le Tableau III, qui définit le fonctionnement du dispositif de commande d'amplificateur de détection du circuit de trajet de détection. La Figure 8 est un schéma fonctionnel du circuit
d'interface de réseau principal.
La Figure 9 est un schéma fonctionnel d'un procédé de programmation du réseau de mémoire
d'instructions du circuit de mémoire de codes.
La Figure 10 illustre le Tableau IV, qui définit
les modes du tampon de page.
La Figure 11 illustre l'implantation d'adresses
du tampon de page dans ses divers modes.
La Figure 12 illustre les champs de bits
d'adresses pour adresser le tampon de page.
La Figure 13 illustre un ordinateur qui inclut un dispositif de mémoire non volatile qui inclut un
circuit de mémoire de codes qui peut être modifié.
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 22 d'utilisateur, un dispositif de commande 24 de réseau, des circuits de registres 26 de commande et un réseau 28 de mémoire principale non volatile. Le dispositif de commande 24 de réseau commande la programmation et l'effacement du réseau 28 de mémoire principale en utilisant le circuit de mémoire 40 de codes. Comme décrit de façon plus détaillée plus loin, le circuit de mémoire 40 de codes inclut une mémoire non volatile d'instructions qui mémorise des algorithmes de programmation et d'effacement pour le dispositif 20. Le circuit de mémoire 40 de codes permet de modifier la mémoire d'instructions, en modifiant ainsi le fonctionnement du dispositif de mémoire 20 après sa fabrication. Dans des modes spéciaux du circuit de mémoire 40 de codes, la mémoire d'instructions peut être modifiée si un tampon de page 42 est utilisé comme source d'instructions pour le dispositif de commande 24 de réseau, pourvu que le tampon 42 de page mémorise un algorithme de modification du réseau de mémoire d'instructions. Dans ces modes spéciaux, le circuit de mémoire 40 de codes valide un circuit d'interface de réseau principal pour permettre de modifier la mémoire d'instructions en utilisant les lignes de charge de programme du trajet
de lecture et d'écriture.
Avant de commencer cette description détaillée,
on se réfère de nouveau à la Figure 1. Le dispositif de mémoire 20 inclut aussi un circuit 44 d'accès de commande, un multiplexeur 46 d'adresses, un multiplexeur 48 de sortie et un trajet 50 de lecture et d'écriture. Ces circuits 44, 46, 48 et 50, en coopération avec l'interface 22 d'utilisateur et le dispositif de commande 24 de réseau, rendent relativement simple pour l'utilisateur l'utilisation
du réseau 28 de mémoire principale.
Le réseau 28 de mémoire principale constitue pour l'utilisateur externe une mémoire vive de données, non volatile, de grandes dimensions. Le réseau 28 de mémoire principale inclut de préférence 32 blocs de cellules de mémoire flash. Chaque bloc de mémoire
fournit 64K octets de mémoire de données.
Le réseau de mémoire principale mémorise des mots d'une largeur de 16 bits, en utilisant une cellule de mémoire flash pour mémoriser chaque bit. Par conséquent, le trajet 50 de lecture et d'écriture n'inclut que 16 circuits de détection et charges de
programme de haute tension.
il L'interface 22 d'utilisateur fonctionne comme arbitre entre l'utilisateur qui émet des ordres et un dispositif de commande 24 de réseau qui exécute des ordres choisis. Par exemple, une interface 22 d'utilisateur détermine si l'opération demandée par l'utilisateur est valide, étant donné l'état actuel du dispositif de commande 24 de réseau. L'interface 22 d'utilisateur reçoit comme entrée l'ordre et l'adresse d'information qui viennent des broches 70, 72, et 74 et détermine l'opération, ou ordre, que le dispositif de commande 24 de réseau devrait exécuter. Si l'opération demandée est un ordre d'effacement de programme ou de bloc, les signaux d'ordre et de donnée 72 et 74 sont transférés au dispositif de commande 24 de réseau par l'intermédiaire du bus 23 de file d'attente. Une information d'adresse associée à un ordre est transmise par l'interface 22 d'utilisateur au trajet 50 de lecture et d'écriture par
l'intermédiaire du multiplexeur 46.
L'interface 22 d'utilisateur choisit une adresse d'entrée pour le trajet de lecture et d'écriture 50 par l'intermédiaire d'une commande du multiplexeur 46 d'adresses d'entrée. L'adresse d'entrée choisie est, soit l'adresse détectée par des tampons de logique transistor - transistor, ou TTL, qui ne sont pas représentés, sur le bus 70 d'adresse d'utilisateur, soit une adresse 45 entrée en sas qui vient de
l'interface d'utilisateur.
L'interface 22 d'utilisateur commande le multiplexeur 48 de sortie pour choisir une source pour envoyer une donnée à l'utilisateur. Cette donnée est
transférée par l'intermédiaire du bus 74 de données.
La donnée de sortie choisie peut être, soit une donnée 52 qui vient du trajet 50 de lecture et d'écriture,
soit une donnée 48 qui vient du tampon de page 42.
Le dispositif de commande 24 de réseau commande les différents composants nécessaires pour programmer, effacer et vérifier le réseau 28 de mémoire principale. Le dispositif de commande 24 de réseau exécute les algorithmes de mise en séquence du circuit à haute tension du trajet 50 de lecture et d'écriture de manière à appliquer une charge à des cellules de mémoire flash situées à l'intérieur du réseau 28 de mémoire principale ou à enlever des charges de ces
cellules.
Le circuit 44 d'accès de commande valide aussi bien l'interface 22 d'utilisateur que le dispositif de commande 24 de réseau pour accéder à des registres 26 de commande par l'intermédiaire du bus central de commande 80. En fonctionnement normal, le dispositif de commande 24 de réseau commande le circuit d'accès 44 de commande et commande donc un accès aux registres 26 de commande. Le circuit 44 d'accès de commande passe une information qui va au dispositif de commande
24 de réseau ou une information qui en provient.
Le dispositif de commande 24 de réseau écrit dans des registres spécialisés 26 de commande en transférant un signal de commande d'écriture, et une adresse de registre ainsi qu'une donnée correspondante d'écriture au circuit 44 d'accès de commande par l'intermédiaire du bus 25. Le circuit 44 d'accès de commande engendre ensuite un cycle d'écriture et le couple au bus central de commande 80 afin d'écrire dans le registre de commande adressé. Le dispositif de commande 24 de réseau lit les registres 26 de commande en transférant au circuit d'accès 44 de commande par l'intermédiaire du bus 25 une adresse de registre et un signal de commande de lecture. Le circuit d'accès 44 de commande engendre ensuite un cycle d'accès de lecture et le couple au bus central de commande 80
pour lire le registre de commande adressé.
L'utilisateur du dispositif de mémoire peut accéder aux registres 26 de commande en émettant un ordre de trappe. L'ordre de trappe commute à l'interface 22 d'utilisateur le circuit d'accès 44 de commande et donc la commande du circuit des registres 26 de commande. Dès lors que la trappe est ouverte, l'utilisateur du dispositif de mémoire peut adresser les registres 26 de commande et y écrire. De cette manière, l'utilisateur du dispositif de mémoire peut configurer le circuit de mémoire 40 de codes de sorte que la mémoire d'instructions peut être modifiée. La raison en est que de nombreux signaux de commande destinés au circuit de mémoire 40 de codes sont engendrés par les registres 26. Des bits de commande situés à l'intérieur des registres 26 de commande incluent ALTADD(10:0), AEN, GWL, USEPB, ACVPXSW, ACVPSSW, ACVPYSW, ACVPWSW, FLTBL, PBCONFIG(2:0) et WSELECTC(2:0). L'effet de chacun des ces bits sur le circuit de mémoire 40 de codes sera décrit plus loin
en détail.
Les registres 26 de commande sont de préférence réalisés sous la forme d'un certain nombre de bascules de type D dont l'accès est commandé par un décodeur d'adresse individuel. Des adresses sont envoyées aux registres 26 de commande par l'intermédiaire du bus de
commande 80.
L'interface 22 d'utilisateur et le dispositif de commande 24 de réseau partagent un tampon de page 42 qui permet au dispositif de mémoire 20 de fonctionner de diverses manières. Par exemple, le tampon de page 42 peut être utilisé pour entrer en tampon une donnée qui doit être programmée dans le dispositif 28 de mémoire principale d'une manière telle que la donnée est entrée sous forme de train dans le réseau 28 de mémoire principale pour augmenter son débit. Comme décrit plus loin, le tampon de page 42 peut aussi être utilisé pour programmer la mémoire d'instructions à
l'intérieur du circuit 40.
Selon un mode de réalisation préféré, le tampon de page 42 est un réseau de mémoire de 128xl9x2 cellules de mémoire vive statique, ou SRAM. Le tampon de page est de préférence divisé en deux plans de mémoire vive statique. Cette architecture à deux plans permet simultanément un accès de lecture et d'écriture dans l'un des plans, pour le dispositif de commande de réseau, et un accès dans l'autre plan, pour l'interface 22 d'utilisateur. Selon son mode, le tampon de page 42 fonctionne comme mémoire à 8 bits, à 16 bits ou à 19 bits. Lorsqu'il fonctionne comme mémoire à 19 bits, le tampon de page 42 peut être utilisé pour programmer un circuit de mémoire 40 de codes. Le mode de tampon de page commande aussi le fait que le tampon de page 42 consiste en un plan
contigu de mémoire ou en deux plans de mémoire.
Le tampon de page 42 peut être utilisé pour divers buts. Le dispositif de commande 24 de réseau peut utiliser le tampon de page 42 pour mémoriser des déports de saut, une information de donnée et d'adresse pour une programmation de pipeline. A l'aide de l'interface 22 d'utilisateur, l'utilisateur extérieur peut aussi utiliser un plan de tampon de page de manière indépendante comme mémoire rapide de lecture et d'écriture. Le dispositif de commande 24 de réseau peut recevoir des instructions d'exécuter des instructions mémorisées dans le tampon de page 42. En d'autres termes, le tampon de page 42 peut agir comme mémoire de microcodes pour le dispositif de commande 24 de réseau. Dans ce mode, le tampon de page 42 est de préférence configuré sous la forme d'une seule
mémoire contigue.
On va maintenant décrire successivement de façon détaillée le dispositif de commande de réseau, le circuit de mémoire de codes, le tampon de pages et
l'ordinateur personnel.
Le dispositif de commande 24 de réseau, qui est décrit en premier lieu, est une structure de traitement polyvalente. Comme représenté à la Figure 2, le dispositif de commande 24 de réseau inclut un circuit de mémoire 40 de codes, un registre 90 d'instructions, un compteur 92 de programme, une unité arithmétique et logique 94, ou ALU, et un fichier 96
de registres.
Le dispositif de commande 24 de réseau exécute des algorithmes mémorisés dans le circuit de mémoire de codes. Ces algorithmes représentent 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 96 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 94.
L'accès à des algorithmes mémorisés dans le circuit de mémoire 40 de codes s'effectue par l'intermédiaire de vecteurs de saut reçus de l'interface 22 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 de codes. Le circuit de mémoire 40 de codes reçoit du compteur 92 de programme une adresse à la fois. Le circuit de mémoire 40 de codes produit des instructions, une instruction à la fois, destinées au
registre 96 d'instructions qui les entre en sas.
La fonction de base du compteur 92 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 92 de programme maintient le cyclage approprié d'instructions de données au dispositif de commande 24 de réseau. L'adresse produite comme sortie du compteur 92 de programme est utilisée pour restituer l'instruction suivante à partir du circuit de mémoire 40 de codes en vue d'un transfert au registre 90 d'instructions et d'une
exécution par l'unité arithmétique et logique 94.
L'unité arithmétique et logique 94 effectue toutes les fonctions arithmétiques et logiques et n'est pas décrite en détail ici. L'entrée de données dans l'unité arithmétique et logique 94 peut être lancée à partir de sources multiples, y compris le
tampon de page 42.
Le fichier 96 de registres 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 24 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 96 de registres commute de la section principale vers la deuxième section le
contexte du dispositif de commande 24 de réseau.
Toutes les opérations sont dès lors exécutées dans la section d'opération du fichier 96 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. Quand l'interruption cesse d'être prise en compte, la commande revient à la section
principale.
On va maintenant décrire le circuit de mémoire de codes. La Figure 3illustre sous forme de schéma fonctionnel un circuit de mémoire 40 de codes. Le circuit de mémoire 40 de codes mémorise les algorithmes exécutés par le dispositif de commande 24 de réseau. Le circuit de mémoire 40 de codes inclut un réseau de mémoire 100 de commande, un multiplexeur 102 d'adresses, un décodeur X 104, un circuit 106 de mise à la masse de colonnes, un circuit 108 de choix de Y, un circuit d'interface 110 de réseau principal, un circuit 112 de trajet de détection et plusieurs générateurs de tensions 114, 116, 118 et 120. Le circuit de mémoire 40 de codes permet de modifier les
algorithmes qu'il mémorise dans des modes de non-
lecture. Par conséquent, une modification d'algorithme n'exige aucune modification du matériel compris à
l'intérieur du dispositif de mémoire 20.
Une modification du circuit de mémoire 40 de codes est possible parce que le réseau de mémoire 100 d'instructions est non volatile. Le réseau de mémoire d'instructions est de préférence constitué de cellules de mémoire flash. Comme pour tout autre réseau de mémoire flash, un utilisateur modifie le réseau de mémoire 100 d'instructions par un
effacement, une programmation et une vérification.
Ainsi, le circuit de mémoire 40 de codes fonctionne dans de nombreux modes, qui incluent des modes d'effacement et de programmation. La Figure 4 liste les signaux d'entrée et les signaux de sortie pour les modes du circuit de mémoire 40 de codes. Le circuit de mémoire 40 de codes fonctionne normalement en mode de lecture, ce qui permet une programmation, un effacement et une lecture du réseau 28 de mémoire principale. En d'autres termes, le circuit de mémoire de codes engendre, dans le mode de lecture, des instructions destinées au dispositif de commande 24 de réseau. En raison de sa structure, le circuit de mémoire 40 de codes consomme peu d'énergie en mode de lecture. Une vérification de programmation et une vérification d'effacement du réseau de mémoire 100 d'instructions sont effectuées dans un mode d'accès principal qui couple des colonnes du réseau de mémoire d'instructions au trajet 50 de lecture et d'écriture, et non au circuit 112 de trajet de détection. Une lecture de mots d'instructions dans le réseau de mémoire 100 d'instructions par l'intermédiaire du trajet 50 de lecture et d'écriture exige un certain nombre de cycles parce que le trajet de lecture et d'écriture n'inclut que 16 circuits de détection et 16 charges de programme. Par conséquent, il n'est possible de lire à la fois que 8 bits et leurs compléments dans le réseau de mémoire
d'instructions.
Le réseau de mémoire 100 d'instructions mémorise de préférence 2048 mots d'instructions dont la largeur est de 19 bits pour chacun d'eux. Le réseau de mémoire d'instructions utilise de préférence deux cellules de mémoire flash pour mémoriser chaque bit d'un mot d'instruction; il est cependant évident pour l'homme de l'art que le réseau de mémoire 100 de commande peut également être réalisé en utilisant une seule cellule par bit de donnée. Un avantage de la mémorisation de la valeur réelle de chaque bit et de son complément est que chaque bit du mot d'instruction peut être détecté sans utiliser de tensions de référence. Les 77. 824 cellules de mémoire flash nécessaires selon cette approche sont de préférence organisées en 152 lignes de bits et 512 lignes de mots. Les 512 lignes de bits sont organisées sous la forme de 76 colonnes vraies et 76 colonnes complémentaires. Des liaisons de sources divisent le réseau de mémoire 100 de commande en groupe de 4 colonnes vraies et 4 colonnes complémentaires. Le réseau de mémoire 100 de commande inclut donc 19 groupes de colonnes. Chaque groupe de colonnes est ensuite couplé à un amplificateur unique de détection du circuit 112 de trajet de détection. Les 512 lignes de mots sont organisées en 256 lignes
de mots pairs et 256 lignes de mots impaires.
Le multiplexeur 102 d'adresses choisit la source des signaux d'adresse appliquée au décodeur X 104. En mode de lecture, le signal de validation de réseau AEN choisit des signaux d'adresses engendrés par le compteur 92 de programme, c'est-à-dire PCADD(10:0) 131. le signal AEN 130 choisit des variantes des signaux d'adresses, ALTADD(10:0) 132 pendant des modes
de programmation, d'effacement et d'accès principal.
Ces variantes d'adresses proviennent de bornes d'adresses 70 qui sont couplées au multiplexeur 102 d'adresses par l'intermédiaire de l'interface d'utilisateur 22. Le multiplexeur 102 d'adresses couple les 9 bits inférieurs de sa sortie AADD(8:0) 134 au décodeur X 104. Les 2 bits supérieurs, AADD(10:9) 136 sont couplés au circuit de choix Y 108
et au circuit 106 de mise à la masse de colonnes.
Le décodeur X 104 effectue un décodage de rangée et pilote des lignes de mots à l'intérieur du réseau de mémoire 100 d'instructions. Le décodeur X effectue sa tâche rapidement, en décodant chaque adresse à l'intérieur de la première phase d'un cycle de signal d'horloge à trois phases. Dans le mode d'effacement, une affirmation du signal de ligne de mot de masse, GWL 138, amène le décodeur X 104 à mettre à la masse toutes les lignes de mots. Ceci permet un effacement du réseau de mémoire 100 de commande. En mode de programmation, l'affirmation de ACVPXW permet au décodeur X 104 d'élever à Vpp, c'est-à-dire à 12
volts, des lignes de mots choisies.
Le décodeur X 104 est organisé sous forme de circuit de décodage préalable X et de circuit d'excitateur X. Dans des modes autres que l'effacement, le circuit de décodage préalable X choisit, en réponse à AADD(8:0) 134 la paire appropriée de rangées dans les 512 rangées du réseau de mémoire 100 d'instructions. Dans le mode d'effacement, toutes les rangées sont choisies. Le circuit de décodage préalable X effectue sa tâche en trois niveaux en utilisant un décodeur préalable de rangées paires et un décodeur préalable de rangées impaires qui sont identiques entre eux sauf pour la destination de leurs signaux de sortie. En premier lieu, le décodeur préalable de rangées paires choisit un groupe de 64 lignes de mots paires et le décodeur préalable de rangées impaires choisit un groupe de 64 lignes de mots impaires. Puis, le décodeur préalable de rangées paires choisit un groupe de 8 lignes dans le groupe de 64 lignes de mots paires. Simultanément, le décodeur préalable de rangées impaires choisit un groupe de 8 lignes dans le groupe des 64 lignes de mots impaires. Finalement, le décodeur préalable de rangées paires choisit une des lignes de mots paires dans le groupe de 8 lignes de mots paires tandis que le décodeur préalable de rangées impaires choisit une des lignes de mots impaires dans le groupe de 8 lignes
de mots impaires.
Le circuit excitateur X prend les signaux de sortie dans le circuit de décodage préalable X et excite les lignes de mots choisies. Le circuit excitateur X excite à la tension VPX les lignes de mots choisies pendant la programmation et l'effacement du réseau de mémoire 100 de commande. Le circuit d'excitateur X est divisé en un excitateur de rangées
paires et un excitateur de rangées impaires.
L'excitateur de rangées paires est situé sur un côté du réseau de mémoire 100 de commande et l'excitateur de rangées impaires est situé sur l'autre côté du réseau de mémoire 100 de commande. Les excitateurs situés à l'intérieur du circuit d'excitateur X sont plus petits que ceux qui sont utilisés par le réseau 28 de mémoire principale, leurs dimensions étant égales à 1/4 des dimensions correspondant au réseau de mémoire principale selon un mode de réalisation. La paire choisie de rangées est désignée par deux ensembles de signaux, des signaux de rangées impaires OR(511:0) 142 et les signaux de rangées paires
ER(511:0) 140.
La circuit de mémoire 40 de codes met en oeuvre un schéma de lecture 4:1 à l'aide du circuit de choix Y 108, du circuit 106 de mise à la masse de colonnes et du circuit 112 de trajet de détection. Ceci signifie que quatre colonnes vraies et quatre colonnes complémentaires du réseau de mémoire 100 d'instructions sont couplées à un amplificateur unique de détection 174 du circuit 112 de trajet de détection. Ainsi, la lecture d'un mot d'instruction dans le réseau de mémoire 100 d'instructions exige d'exclure du choix trois colonnes vraies sur quatre et trois colonnes complémentaires sur quatre. Le circuit 106 de mise à la masse de colonnes accomplit cette tâche en utilisant une logique de décodage et dix-neuf circuits de mise à la masse des colonnes dont un seul est illustré à la Figure 5. Comme son nom le suggère, la logique de décodage décode AADD(10:9) 136, AEN, USEPB et FLTBL pour engendrer quatre signaux de mise à la masse de colonnes, CG(3:0). La réponse de la logique de décodage de colonnes à ses entrées est indiquée au tableau II de la Figure 6. On note que l'affirmation de FLTBL dans le mode d'effacement permet à toutes les lignes de bits de flotter et
permet un effacement de la mémoire 100 d'instructions.
Ces quatre signaux de mise à la masse de colonnes indiquent celles des trois colonnes vraies et des trois colonnes complémentaires de chaque groupe de colonnes qui devraient être mises à la masse. Chacun des dixneuf circuits de mise à la masse de colonnes utilise les quatre signaux de mise à la masse de colonnes pour mettre à la masse, parmi son groupe associé de colonnes, trois colonnes vraies et trois colonnes complémentaires. Ceci est effectué en utilisant une rangée de portes de passage. Lorsqu'un 1 logique est appliquée à une porte de passage, elle couple la colonne associée à VPS, c'est-à-dire à la masse. Le circuit de choix Y 108 choisit les colonnes vraies et complémentaires à coupler au circuit 112 de trajet et de détection en décodant AADD(10:9) 136. En d'autres termes, le circuit de choix Y 108 choisit, en réponse à AADD(10:9) 136, SENS(18:0) 154 et SENSB(18:0) 156 dans la Colonne T(75:0) 150 et la Colonne C(75:0) 152. Le circuit de choix Y 108 inclut une logique de décodage Y et dix-neuf circuits de choix. Chaque circuit de choix est couplé à un groupe de colonnes. La logique de décodage Y décode AADD(10:9) 136 pour engendrer quatre signaux de choix, dont un seul est actif à la fois dans des modes de programmes, de lecture et d'accès principal. Chacun des dix-neuf circuits de choix utilise ces quatre signaux de choix pour coupler au circuit 112 de trajet de détection l'une de ses colonnes vraies associées et l'une de ses colonnes complémentaires associées par
l'intermédiaire de SENS(18:0) 154 et SENSB(18:0) 156.
Le circuit 112 de trajet de détection fonctionne pendant le mode de lecture. Le circuit 112 de trajet de détection engendre le mot d'instruction, IW(18:0) 158 à partir de SENS(18:0) 154 et SENSB(18:0) 156 en utilisant des amplificateurs de détection. Comme illustré à la Figure 7A, le circuit 112 de trajet de détection inclut un dispositif de commande 170 d'amplificateurs de détection, un générateur 172 de polarisation et dix-neuf amplificateurs 174 de détection, dont un seul est représenté. Le dispositif de commande 170 d'amplificateurs de détection commande un amplificateur de détection 174 par l'intermédiaire de signaux de charge préalable PCHG 177 et PCHGB 179, d'un signal de validation de polarisation, d'un signal de validation de référence, REFENB 176, qui est un
signal actif bas, et d'un signal de lecture, READ 175.
Le dispositif de commande 170 d'amplificateurs de détection place un amplificateur de détection 174 dans l'un des deux états en fonction du mode du circuit de mémoire 40 de codes, comme indiqué au Tableau II de la Figure 7B. Dans tous les modes autres que le modes de lecture, le dispositif de commande 170 d'amplificateurs de détection maintient les amplificateurs de détection 174 dans l'état de charge préalable et invalide le générateur de polarisation 172 par l'intermédiaire de REFENB 176. Ceci empêche des amplificateurs de détection 174 d'exciter IW(18:0) 158 et sauvegarde l'énergie. Le dispositif de commande d'amplificateurs de détection identifie les modes autres que la lecture par l'intermédiaire de AEN 130, WSELECTC(2:0) 178 et USEPB 180. En mode de lecture, le temps de réponse des amplificateurs de détection 174 est amélioré en les chargeant au préalable pendant le décodage d'adresses, c'est-à-dire pendant la première phase du signal d'horloge à trois phases. Dans les deux phases restantes, le dispositif de commande de trajet de détection cesse d'affirmer les signaux de charge préalable et valide une lecture des entrées d'amplificateurs de détection en amenant READ à l'état actif. Le mot d'instruction IW(18:0) 158 est engendré
pendant ces deux phases de signal d'horloge.
Le circuit d'interface 110 de réseau principal permet une programmation et une vérification du réseau de mémoire 100 de commande en le couplant au circuit à haute tension du trajet 50 de lecture et d'écriture dans des modes autres que la lecture. Le trajet 50 de lecture et d'écriture est agencé autour du réseau 28
de mémoire principale qui mémorise 16 mots de bits.
Ainsi, le circuit d'interface 110 de réseau principal choisit un groupe de 16 signaux parmi les 38 signaux 154 et 156 à coupler au trajet 50 de lecture et d'écriture. Le circuit d'interface 110 de réseau principal est illustré schématiquement à la Figure 8. Le circuit d'interface 110 de réseau principal inclut six rangées
de portes de passage 190, 192, 194, 196, 198 et 200.
Chaque rangée de portes de passage 190, 192, 194, 196, 198 et 200 est représentée par une porte unique de passage. Chaque rangée de portes de passage 190, 192, 194, 196, 198 et 200 couple un sous-ensemble des signaux SENS(18:0) 154 et SENSB(18:0) 156 au trajet 50 de lecture ou d'écriture par l'intermédiaire de MASEN(15:0) 210. Des signaux de choix WSELECTC(2:0) 178 déterminent celle des paires de rangées qui excite MASEN (15:0). Chaque signal de choix 170 est couplé à un sas de haute tension 180, 182 ou 194, dont la
sortie commande deux rangées de portes de passage.
Ainsi, lorsque WELECTC(2:0) 178 est 001 binaire, les rangées 190 et 192 sont mises en service et permettent à SENSB(7:0) d'exciter MASEN(15:8) et à SENS(7:0) d'exciter MASEN(7:0). Lorsque WSELECTC(2:0) 178 est égal à 010 en binaire, ceci met en service les rangées 194 et 196, en couplant SENSB(15:8) à MASEN(15:8) et SENS(7:0) à MASEN(7:0). Finalement, lorsque WSELECTC(2:0) 178 est égal à 100 binaire, ceci met en service les rangées 198 et 200 et couple SENSB(18:16)
à MASEN (10:8) et SENS(18:16) à MASEN(2:0).
Les sas de haute tension 180, 182 et 184 du circuit d'interface 110 de réseau principal sont couplés à une alimentation, dont la référence est commandée par VPW 186. VPW 186 est engendrée par le générateur 118 de VPW en courant alternatif, ou générateur ACVPW. Le générateur 188 excite VPW 186 à Vpp, c'est-à-dire à 12 volts, pendant la programmation du réseau de mémoire 100 d'instructions en réponse au signal commutateur ACVPWSW 220. Le signal commutateur 220 excite VPW 186 à Vcc, c'est-à-dire à 5 volts,
pendant les opérations de lecture.
Le générateur de VPS en courant alternatif, ou AC VPS, 120 engendre la tension appliquée à la source de chaque cellule de mémoire à l'intérieur du réseau de mémoire 100 d'instructions. Le niveau de tension de VPS 222 est commandé par un signal de commutateur, ACVPSSW 224. Pendant le mode d'effacement du circuit , ACVPSSW 224 couple VPS 222 à Vpp, c'est-à- dire 12 volts. En mode programme, et dans d'autres modes, ACVPSSW 224 couple VPS 222 à Vcc, c'est-à-dire à 5 volts. Le générateur de VPX en courant alternatif 114, ou AC VPX, engendre tous les niveaux de tension nécessaires pour le décodeur X 104, c'est-à-dire VPX
226 et VPSS 228.
Le générateur de VPY en courant alternatif 116, ou AC VPY, engendre les tensions utilisées par le circuit de choix Y 108. Un signal de commutateur ACVPYSW 240 commute VPY 242 de 7,5 volts en mode de programme à approximativement 5 volts en mode de lecture. Le circuit de mémoire 40 de codes fonctionne dans un mode de lecture par défaut, en engendrant des mots d'instructions pour le registre 90 d'instructions et l'unité arithmétique et logique 94. Le fonctionnement du circuit de mémoire 40 de codes dans d'autres modes exige de placer des signaux de commande AEN 130, USEPB
, WSELECTC(2:0) 178, ALTADD(10:0) 132, ACVPXSW,
ACVPYSW 240, ACVPSSW 224, GWL 138, FLTBL, PBCONFIG
(2:0) et WSELECTC(2:0) 178 selon ce qui est approprié pour le mode. Ces signaux de commande peuvent être réglés par l'utilisateur au niveau souhaité en adressant les registres de commande 126 et en y écrivant. AEN 130 permet à l'utilisateur de commander les signaux d'adresses appliqués au réseau de mémoire 100 d'instructions, en les commutant de PCADD 131 à ALTADD 132. USEPB 180 permet à l'utilisateur de programmer le réseau de mémoire 100 d'instructions en utilisant un algorithme mémorisé précédemment dans le tampon de page 42. WSELECTC(2:0) 178 permet à l'utilisateur de coupler au trajet 50 de lecture et d'écriture un groupe choisi de bits qui vient du
réseau de mémoire 100 d'instructions.
La Figure 9 illustre sous forme de schéma logique un procédé de modification du réseau de mémoire 100 d'instructions. Comme pour tous les réseaux de mémoire flash, la programmation du réseau de mémoire 100 d'instructions exige un effacement avant la programmation. L'effacement du réseau de mémoire 100 d'instructions est réalisé en utilisant le tampon de page 42 comme source de mots d'instructions pour le dispositif de commande 24 de réseau. Les mots d'instructions mémorisés dans le tampon de page 42 doivent effacer la mémoire 100 d'instructions. Ainsi, la première étape, c'est-à-dire l'étape 260, consiste à configurer le tampon de page 42 de façon qu'il puisse mémoriser les 19 mots d'instructions de bits d'un algorithme d'effacement. Ceci est effectué en plaçant PBCONFIG(2:0) au mode d'écriture d'utilisateur par l'intermédiaire d'un accès au registre 26 de
commande.
A l'étape 262, l'utilisateur écrit dans le tampon de page 42 l'algorithme d'effacement du réseau de mémoire 100 d'instructions. D'une façon bien connue dans l'art, l'effacement des cellules d'une mémoire flash exige de mettre à la masse les lignes de mots, en permettant aux lignes de bits de flotter et en élevant les sources à 12 volts. Ainsi, l'algorithme d'effacement commande GWL 138, ACVPSSW 224 et FLTBL de manière à effacer le réseau 100. L'algorithme d'effacement n'est pas décrit de façon plus détaillée parce que de tels algorithmes sont bien connus dans l'art. L'utilisateur doit prendre soin d'écrire les mots d'instructions de l'algorithme d'effacement aux
emplacements corrects d'adresses du tampon de page 42.
Les 16 bits inférieurs de chaque mot d'instruction, IW(15:0) pour les premiers FF (en hexadécimal) mots d'instruction doivent être mémorisés dans l'ordre séquentiel dans le plan A du tampon de page. Les bits de poids fort des FF premiers mots d'instructions IW(18:16) doivent être mémorisés dans le plan C aux
adresses 200-27F (en hexadécimal) du tampon de page.
Les 16 bits inférieurs du mot d'instructions pour des mots d'instructions qui dépassent FF (en hexadécimal) doivent être mémorisés dans l'ordre séquentiel dans le plan B du tampon de page. Le bit de poids fort de ces mots d'instructions doit être mémorisé dans l'ordre séquentiel dans le plan C aux adresses 280 à 2FF (en hexadécimal). Quant l'utilisateur a chargé l'algorithme d'effacement dans le tampon de page 42, le circuit de mémoire 40 de codes doit être configuré à l'étape 264 de manière à permettre sa modification. Des signaux de commande comme AEN 130 et WSELECTC(2:0) 178 doivent être placés de façon appropriée pour le mode d'effacement, comme représenté au Tableau I. L'utilisateur configure ensuite à l'étape 266 le tampon de page 42, au lieu du circuit de mémoire 40 de codes, comme source d'instructions pour le dispositif de commande 24 de réseau. L'utilisateur indique ceci en plaçant USEPB 180. Pour permettre d'utiliser de cette manière le tampon de page 42, le tampon de page 42 doit être configuré sous la forme d'un plan unique à 19 bits par l'intermédiaire des bits de configuration de tampon de page, PBCONFIG(2:0), que l'utilisateur place aussi par l'intermédiaire de l'un
des registres de commande.
Un effacement du réseau de mémoire 100 d'instructions commence à l'étape 268 lorsque l'utilisateur émet un ordre d'effacement. L'algorithme mémorisé dans le tampon de page 42 commence ensuite l'exécution. Après l'achèvement de l'étape 268, l'utilisateur commence à préparer pour programmer le réseau de mémoire 100 d'instructions à l'aide de ses instructions modifiées. Comme pour l'effacement, ceci exige de configurer le tampon de page 42 pour qu'il accepte des écritures à 19 bits. Lorsque ceci est exécuté, l'utilisateur écrit dans le tampon de page 42 l'algorithme de programme. D'une manière bien connue, une programmation de cellules flash exige d'élever des lignes de mots choisies à 12 volts approximativement, d'élever des lignes de bits à 7 volts approximativement et de mettre à la masse des lignes de source. Ainsi, l'algorithme de programme doit commander selon le mode de programme du Tableau I, ACVPSSW, ACVPYSW, ACVPWSW, ACVPXSW et GWL. Afin d'exécuter une vérification de programme, l'utilisateur doit également commander WSELECTC(2:0) pour transférer la donnée détectée aux broches 74 de données. Les algorithmes de programme sont bien connus
et ne seront pas décrits de façon détaillée ici.
L'utilisateur configure à l'étape 274 le circuit de commande de mémoire 40 de codes de la manière
décrite ci-dessus en ce qui concerne l'étape 275.
Puis, l'utilisateur configure de nouveau à l'étape 276 le tampon de page 42 pour qu'il fonctionne comme source de mots d'instructions, comme ci-dessus à l'étape 266. Finalement, à l'étape 278, l'utilisateur commence à émettre des ordres de programmation, un pour chaque mot d'instructions à programmer dans le réseau de mémoire 100 d'instructions. Comme pour un ordre habituel de programmation, l'ordre est un ordre à deux cycles. Pendant le premier cycle, le code d'ordre de programme est donné. Pendant le cycle suivant, l'utilisateur indique la donnée à programmer par l'intermédiaire des broches 74 et 70 et l'adresse par un sous-ensemble de broches 70. Les signaux de ces broches sont transférés des broches au réseau 100 et au trajet 50 de lecture et d'écriture de la manière appropriée. Lorsque chaque mot d'instruction a été programmé dans le réseau de mémoire 100 d'instructions, il peut fonctionner de nouveau comme source de mots d'instructions pour le dispositif de commande 24 de réseau. On va maintenant décrire de façon détaillée l'utilisation et la configuration du tampon de page 42. En effet, une modification du réseau de mémoire d'instructions exige une commande du tampon de page 42. L'utilisateur du dispositif de mémoire doit pouvoir charger tous les plans du tampon de page 42 et ordonner son utilisation comme source d'instructions
pour le dispositif de commande de réseau.
Le tampon de page 42 inclut deux plans séparés de mémoire vive statique, ou SRAM, de 256 par 8 bits: le plan A et le plan B. Le plan A et le plan B incluent chacun deux colonnes de 128 x 8 bits, la colonne A et la colonne B, et une colonne de 128 x 3 bits qui est la colonne C. La colonne A et la colonne B mémorisent des valeurs d'octets ou de mots. La colonne C mémorise les trois bits de poids fort lorsque le tampon de page 42 est en cours de configuration en vue d'une utilisation pour exécuter un algorithme. Ces bits sont
parfois appelés des bits rémanents.
Le Tableau IV de la Figure 10 définit les modes
du tampon de page 42.
En mode 0, l'accès au tampon de page 42 est invalidé. Dans ce mode, le tampon de page 42 n'est accessible ni par l'interface 100 d'utilisateur ni par
le dispositif de commande 24 de réseau.
En mode 1, le tampon de page 42 fonctionne comme source de mots d'instructions pour le dispositif de commande 24 de réseau. Le dispositif de commande 24 de réseau recherche une instruction en transférant une adresse d'instruction dans le tampon de page 42 par l'intermédiaire de ALTADD 132. Le dispositif de commande 24 de réseau reçoit du tampon de page 42 l'instruction correspondante par l'intermédiaire du
bus 91.
En mode 2, le circuit 22 d'interface lit le tampon de page 42 en mode d'utilisateur. Le circuit d'interface 22 reçoit un ordre de lecture de tampon de
page par l'intermédiaire des broches 70, 72, 74.
L'ordre de lecture de tampon de page spécifie une
adresse de lecture pour le tampon de page 42.
L'interface 22 d'utilisateur transfère l'adresse de lecture au tampon de page 42 par l'intermédiaire du bus 47. Le tampon de page 42 transfère la donnée de lecture correspondante par l'intermédiaire du bus 43 de donnée de tampon de page. L'interface 22 d'utilisateur amène le multiplexeur à transférer la
donnée lue par l'intermédiaire de la broche 74.
En mode 3, l'interface 22 d'utilisateur écrit
dans le tampon de page 42 en mode d'utilisateur.
En mode 4, le dispositif de commande 24 de réseau lit dans le tampon de page 42 en mode utilisateur. Par exemple, le dispositif de commande 24 de réseau lit une donnée de programmation dans le tampon de page 42 pendant un programme o le tampon de page est en fonctionnement. En mode 5, le dispositif de commande 24 de réseau
écrit dans le tampon de page 40 en mode d'utilisateur.
En mode 6, l'interface 22 d'utilisateur lit le tapon de page 42 sous forme d'un espace de mémoire
étendu de 19 bits.
En mode 7, l'interface 22 d'utilisateur écrit dans le tampon de page 42 en tant qu'espace de mémoire de 19 bits. C'est dans ce mode que l'utilisateur écrit dans le tampon de page 42 en programmant les programmes pour le réseau de mémoire 100 de commande et en effaçant ce réseau. L'interface 22 d'utilisateur reçoit, par l'intermédiaire des broches 70, 72 et 74, un ordre d'écriture dans le tampon de page qui spécifie une adresse d'écriture et une valeur donnée d'écriture. L'interface d'utilisateur transfère par le bus 47 l'adresse d'écriture au tampon de page 42. Le tampon de page 42 reçoit la valeur de donnée d'écriture par l'intermédiaire des broches de donnée 74. La Figure 11 illustre l'implantation d'adresses du tampon de page 42 pour chaque mode. En mode 1, tout le tampon de page 42, qui inclut les colonnes A, B et C du plan A 310 et les colonnes A, B et C du plan B 320, est implanté pour former une mémoire de commande de 256 x 19 bits. En mode 1, le tampon de page 42 remplace le circuit de mémoire 40 de codes comme source de mots d'instructions pour le dispositif de commande 24 de réseau. Il faut noter que le tampon de page 42 mémorise de préférence 256 mots d'instructions
dans ce mode.
Dans les modes 2 à 5, le tampon de page 42 est implanté pour former deux plans indépendants: le PLAN A et le PLAN B. Le PLAN A et le PLAN B contiennent chacun 256 fois 8 bits. Dans les modes 2 à 5, l'interface 22 d'utilisateur coordonne un accès au PLAN A et au PLAN B selon des ordres reçus par l'intermédiaire des broches 70, 72 et 74. Le circuit 22 d'interface d'utilisateur assure que lui-même et le dispositif de commande 24 de réseau n'accèdent pas
tous deux au même plan.
En modes 6 et 7, le PLAN A et le PLAN B sont implantés de manière à former un espace de mémoire étendu contigu. L'espace de mémoire étendu inclut lescolonnes A, B et C du plan A et les colonnes A, B et C du plan B. Les modes 6 et 7 comprennent des modes spéciaux destinés à écrire des mots d'instructions dans le tampon de page 42, en vue d'une utilisation ultérieure par le dispositif de commande 24 de réseau. Des signaux spéciaux de commande de mode commandent le mode du tampon de page 42. Ces signaux incluent USEPB et PBCONFIG(2:0). Comme indiqué précédemment, l'utilisateur peut placer ces signaux à
volonté en accédant aux registres 26 de commandes.
USEPB détermine si le tapon de page 42 fonctionne comme mémoire de commande pour le dispositif de commande 24 de réseau. PBCONFIG(2:0) détermine le mode
dans lequel le tampon de page 42 fonctionne.
La Figure 12 illustre les champs de bits
d'adresses pour l'accès au tampon de page 42.
Le bit d'adresse A9 choisit la colonne C du plan A et du plan B dans les modes 1, 6 et 7. Le bit d'adresse A8 fonctionne comme signal de choix de plan pour choisir, soit le plan A, soit le plan B. Les bits d'adresses A7 à A1 choisissent une rangée à l'intérieur du plan choisi. Chaque rangée inclut 16 bits, définis comme octet inférieur et octet supérieur. Le bit A10 d'adresse choisit soit l'octet supérieur, soit l'octet inférieur d'une rangée. Ainsi, on voit qu'une écriture d'un mot d'instruction unique de 19 bits dans le tampon de page 42 en mode 7 exige 3 opérations. Il faut une écriture pour charger les 8 bits inférieurs du mot d'instruction. Il faut une autre écriture pour charger les 8 bits suivants, IW(15:8), et une troisième pour charger les bits rémanents. Le tampon de page 42 inclut un détecteur de mode
qui détermine son mode.
On va maintenant décrire, finalement,
l'ordinateur personnel du présent mode de réalisation.
* La Figure 13 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. L'utilisateur "écrit" sur la tablette 409 en utilisant une pointe, une baguette, un stylet ou un autre dispositif manuel. La tablette 409 mémorise la donnée qui y est écrite jusqu'à ce qu'elle puisse la charger dans l'unité centrale de traitement 402. 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 des
dispositifs de mémoires non volatiles 20 à semi-
conducteur pour mémoriser des données auxquelles l'accès doit être fréquent et rapide. Les dispositifs de mémoire 20 incluent le circuit de mémoire 40 de codes. Dans le présent document, l'invention a été décrite en référence à des modes de réalisation spécifiques donnés à titre d'exemple. Il 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.
Claims (13)
1. Circuit programmable de mémoire (40) de codes inclus dans un dispositif de commande (24) de réseau, caractérisé en ce que le dispositif de commande (24) de réseau programme et efface un réseau (28) de mémoire principale non volatile en fonction d'instructions mémorisées dans le circuit de mémoire (40) de codes, le dispositif de commande (24) de réseau inclut un compteur (92) destiné à engendrer une première adresse pour rechercher une instruction, le réseau (28) de mémoire principale inclut un trajet (50) de lecture et d'écriture pour programmer et lire des cellules de mémoire, et en ce que le circuit de mémoire (40) de codes comprend: a. une mémoire non volatile (100) d'instructions pour mémoriser des instructions de programmation et d'effacement du réseau (28) de mémoire principale; b. un circuit de décodage (104, 108) d'adresses pour adresser une première instruction dans le réseau de mémoire (100) d'instructions en réponse à une adresse de réseau, le circuit de décodage (104, 108) d'adresses produisant un signal d'instruction; c. un multiplexeur (102) d'adresses pour engendrer l'adresse du réseau en choisissant la première adresse dans un premier mode et une deuxième adresse dans un deuxième mode; d. un circuit de trajet (112) de détection pour détecter les instructions dans le premier mode en réponse au signal d'instruction; e. un circuit d'interface (110) de mémoire principale pour coupler le signal d'instruction au trajet (50) de lecture et d'écriture dans le deuxième mode.
2. Circuit de mémoire (40) de codes selon la revendication 1, caractérisé en ce que la mémoire (100) d'instructions inclut de multiples cellules de mémoire non volatile organisées en rangées et en colonnes et en ce que le circuit de décodage (104, 108) d'adresses comprend: a. un décodeur X (104) pour adresser une rangée de cellules de mémoire en réponse à l'adresse de réseau; et b. un circuit de choix Y (108) pour adresser une colonne de cellules de mémoire en réponse à l'adresse
de réseau.
3. Circuit de mémoire (40) de codes selon la revendication 2, caractérisé en ce qu'il comprend: a. un circuit (106) d'exclusion de choix pour exclure le choix de colonnes de cellules de mémoire en
réponse à l'adresse de réseau.
4. Circuit de mémoire (40) de codes selon la revendication 1, caractérisé en ce qu'il comprend: a. un générateur de tension (114, 116) pour engendrer des tensions pour le circuit de décodage
(104, 108) d'adresses.
5. Circuit de mémoire (40) de codes selon la revendication 1, caractérisé en ce que le circuit d'interface (110) de réseau principal
comprend de multiples portes de passage.
6. Circuit de mémoire (40) de codes selon la revendication 1, caractérisé en ce que la donnée d'instruction inclut une série de bits et chaque bit est mémorisé dans le réseau de mémoire (100) d'instructions en utilisant deux cellules de mémoire.
7. Dispositif (20) de mémoire non volatile caractérisé en ce qu'il comprend: a. un réseau (28) de mémoire principale non volatile pour mémoriser des données d'utilisateur; b. un trajet (50) de lecture et d'écriture couplé au réseau (28) de mémoire principale; c. un dispositif de commande (24) de réseau pour programmer et effacer la donnée d'utilisateur selon des instructions en réponse à des ordres de l'utilisateur, le dispositif de commande (24) de réseau incluant un circuit de mémoire (40) de codes, le circuit de mémoire (40) de codes recherchant les instructions dans un premier mode, le circuit de mémoire (40) de codes pouvant être modifié dans un deuxième mode, et en ce que le circuit de mémoire (40) de codes comprend: 1) un réseau de mémoire non volatile (100) d'instructions pour mémoriser des instructions; 2) un circuit de décodage (104, 108) d'adresses pour adresser une première instruction dans le réseau de mémoire (100) d'instructions en réponse à une adresse de réseau, le circuit de décodage (104, 108) d'adresses produisant un signal d'instruction; 3) un multiplexeur (102) d'adresses pour engendrer l'adresse du réseau en choisissant une première adresse dans un premier mode et une deuxième adresse dans un deuxième mode; 4) un circuit de trajet (112) de détection pour produire la première instruction dans le premier mode en réponse au signal d'instruction; ) un circuit d'interface (110) de réseau principal pour coupler les signaux d'instructions au trajet (50) de lecture et d'écriture dans le deuxième mode; et d. Un tampon de page (42) qui fournit des instructions au dispositif de commande (24) de réseau dans le deuxième mode, les instructions mémorisées dans le tampon de page (42) amenant le dispositif de commande (24) de réseau à modifier le réseau de
mémoire (100) d'instructions.
8. Dispositif (20) de mémoire non volatile selon la revendication 7, caractérisé en ce qu'il comprend en outre: d. Un circuit de registre (26) de commande pour mémoriser des signaux de commande afin de placer la mémoire (40) de codes dans le deuxième mode et le
premier mode.
9. Dispositif (20) de mémoire non volatile selon la revendication 8, caractérisé en ce que: les signaux de commande sont commandés par l'utilisateur du dispositif (20) de mémoire non volatile.
10. Dispositif (20) de mémoire non volatile selon la revendication 7, caractérisé en ce que le réseau de mémoire (100) d'instructions inclut de multiples cellules de mémoire non volatile organisées en rangées et en colonnes et en ce que le circuit de décodage (104, 108) d'adresses comprend: a. un décodeur X (104) pour adresser une rangée de cellules de mémoire en réponse à l'adresse de réseau; et b. un circuit de choix Y (108) pour adresser une colonne de cellules de mémoire en réponse à l'adresse
de réseau.
11. Dispositif (20) de mémoire non volatile selon la revendication 10, caractérisé en ce qu'il comprend: c. un circuit (106) d'exclusion de choix pour exclure le choix de colonnes de cellules de mémoire en
réponse à l'adresse de réseau.
12. Dispositif (20) de mémoire non volatile selon la revendication 7, caractérisé en ce qu'il comprend: a. un générateur de tension (114, 116) pour engendrer des tensions pour le circuit de décodage
(104, 108) d'adresses.
13. Dispositif (20) de mémoire non volatile selon la revendication 7, caractérisé en ce que le circuit d'interface (110) de réseau principal
comprend de multiples portes de passage.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9501929A FR2714513B1 (fr) | 1993-10-26 | 1995-02-20 | Circuit programmable de mémoire de codes pour mémoire flash. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14269093A | 1993-10-26 | 1993-10-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2711834A1 true FR2711834A1 (fr) | 1995-05-05 |
FR2711834B1 FR2711834B1 (fr) | 1997-11-21 |
Family
ID=22500890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9412595A Expired - Fee Related FR2711834B1 (fr) | 1993-10-26 | 1994-10-21 | Circuit programmable de mémoire de codes pour mémoire flash. |
Country Status (5)
Country | Link |
---|---|
US (1) | US5765184A (fr) |
CH (1) | CH690943A5 (fr) |
FR (1) | FR2711834B1 (fr) |
GB (1) | GB2283342B (fr) |
SG (1) | SG49632A1 (fr) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738894B1 (en) * | 1995-02-07 | 2004-05-18 | Hitachi, Ltd. | Data processor |
US6009496A (en) * | 1997-10-30 | 1999-12-28 | Winbond Electronics Corp. | Microcontroller with programmable embedded flash memory |
US6687814B1 (en) * | 1999-07-12 | 2004-02-03 | Micron Technology, Inc. | Controller with interface attachment |
FR2799853B1 (fr) | 1999-10-13 | 2002-02-01 | Holy Dis | Systeme de localisation d'un chariot mobile |
JP2003532222A (ja) * | 2000-05-04 | 2003-10-28 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 記憶媒体上のデータ管理のための方法、システム、及びコンピュータプログラム |
DE10049534B4 (de) * | 2000-10-06 | 2005-11-17 | Infineon Technologies Ag | Speichervorrichtung und entsprechendes Betriebsverfahren |
US6779045B2 (en) * | 2001-03-21 | 2004-08-17 | Intel Corporation | System and apparatus for increasing the number of operations per transmission for a media management system |
DE10115118A1 (de) * | 2001-03-27 | 2002-10-10 | Philips Corp Intellectual Pty | Verfahren zur Übertragung von Daten über einen Datenbus |
TW539946B (en) * | 2001-08-07 | 2003-07-01 | Solid State System Company Ltd | Window-based flash memory storage system, and the management method and the access method thereof |
GB0123416D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Non-volatile memory control |
JP4129381B2 (ja) | 2002-09-25 | 2008-08-06 | 株式会社ルネサステクノロジ | 不揮発性半導体記憶装置 |
US6898680B2 (en) | 2003-01-03 | 2005-05-24 | Micrel, Incorporated | Minimization of overhead of non-volatile memory operation |
ITMI20041904A1 (it) * | 2004-10-07 | 2005-01-07 | Atmel Corp | "metodo e sistema per un approccio di programmazione per un dispositivo elettronico non volatile" |
US11948629B2 (en) | 2005-09-30 | 2024-04-02 | Mosaid Technologies Incorporated | Non-volatile memory device with concurrent bank operations |
WO2007036050A1 (fr) | 2005-09-30 | 2007-04-05 | Mosaid Technologies Incorporated | Memoire a controle des sorties |
US7652922B2 (en) | 2005-09-30 | 2010-01-26 | Mosaid Technologies Incorporated | Multiple independent serial link memory |
US7649791B2 (en) * | 2006-03-28 | 2010-01-19 | Andrea Martinelli | Non volatile memory device architecture and corresponding programming method |
KR20110119406A (ko) * | 2010-04-27 | 2011-11-02 | 삼성전자주식회사 | 동작 모드 전환기능을 갖는 불휘발성 반도체 메모리 장치 및 동작 모드 전환방법 |
US9612960B2 (en) | 2012-11-19 | 2017-04-04 | Florida State University Research Foundation, Inc. | Data filter cache designs for enhancing energy efficiency and performance in computing systems |
US9600418B2 (en) * | 2012-11-19 | 2017-03-21 | Florida State University Research Foundation, Inc. | Systems and methods for improving processor efficiency through caching |
US9881659B2 (en) * | 2015-09-25 | 2018-01-30 | Intel Corporation | Technologies for clearing a page of memory |
TWI657446B (zh) * | 2018-05-29 | 2019-04-21 | 華邦電子股份有限公司 | 電阻式記憶體及寫入方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5305276A (en) * | 1991-09-11 | 1994-04-19 | Rohm Co., Ltd. | Non-volatile IC memory |
US5333300A (en) * | 1991-02-11 | 1994-07-26 | Intel Corporation | Timing circuitry and method for controlling automated programming and erasing of a non-volatile semiconductor memory |
US5357627A (en) * | 1989-03-28 | 1994-10-18 | Olympus Optical Co., Ltd. | Microcomputer having a program correction function |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4644494A (en) * | 1984-02-06 | 1987-02-17 | Sundstrand Data Control, Inc. | Solid state memory for aircraft flight data recorder systems |
US4896262A (en) * | 1984-02-24 | 1990-01-23 | Kabushiki Kaisha Meidensha | Emulation device for converting magnetic disc memory mode signal from computer into semiconductor memory access mode signal for semiconductor memory |
US4642759A (en) * | 1984-04-02 | 1987-02-10 | Targa Electronics Systems Inc. | Bubble memory disk emulation system |
US4660130A (en) * | 1984-07-24 | 1987-04-21 | Texas Instruments Incorporated | Method for managing virtual memory to separate active and stable memory blocks |
US4958315A (en) * | 1985-07-02 | 1990-09-18 | The United States Of America As Represented By The Secretary Of The Navy | Solid state electronic emulator of a multiple track motor driven rotating magnetic memory |
US4763305A (en) * | 1985-11-27 | 1988-08-09 | Motorola, Inc. | Intelligent write in an EEPROM with data and erase check |
US4802117A (en) * | 1985-12-16 | 1989-01-31 | Pitney Bowes Inc. | Method of preserving data storage in a postal meter |
JP2513462B2 (ja) * | 1986-03-26 | 1996-07-03 | 株式会社日立製作所 | マイクロ・コンピユ−タ |
JPS63106996A (ja) * | 1986-10-24 | 1988-05-12 | Hitachi Ltd | 半導体集積回路装置 |
JPS63113623A (ja) * | 1986-10-30 | 1988-05-18 | Nec Corp | セクタバツフア制御方式 |
US5268870A (en) * | 1988-06-08 | 1993-12-07 | Eliyahou Harari | Flash EEPROM system and intelligent programming and erasing methods therefor |
US5070474A (en) * | 1988-07-26 | 1991-12-03 | Disk Emulation Systems, Inc. | Disk emulation system |
IT1227360B (it) * | 1988-11-18 | 1991-04-08 | Honeywell Bull Spa | Sistema multiprocessore di elaborazione dati con replicazione di dati globali. |
US5012425A (en) * | 1988-12-30 | 1991-04-30 | Pitney Bowes Inc. | EPM having an improvement in non-volatile storage of accounting data |
US5101490A (en) * | 1989-01-10 | 1992-03-31 | Bull Hn Information Systems Inc. | Peripheral device controller with an EEPROM with microinstructions for a RAM control store |
US5047989A (en) * | 1989-03-10 | 1991-09-10 | Intel Corporation | Chapter mode selection apparatus for MOS memory |
JPH03186927A (ja) * | 1989-12-18 | 1991-08-14 | Olympus Optical Co Ltd | マイクロコンピュータのプログラム変更装置 |
DE69024086T2 (de) * | 1989-04-13 | 1996-06-20 | Sundisk Corp | EEprom-System mit Blocklöschung |
FR2647941B1 (fr) * | 1989-06-06 | 1991-08-30 | Gemplus Card Int | Procede d'effacement de points memoire, dispositif destine a sa mise en oeuvre, et son utilisation dans un dispositif a memoire non alimente |
US5131089A (en) * | 1989-06-12 | 1992-07-14 | Grid Systems Corporation | Solid state disk drive emulation |
US5077737A (en) * | 1989-08-18 | 1991-12-31 | Micron Technology, Inc. | Method and apparatus for storing digital data in off-specification dynamic random access memory devices |
US5200959A (en) * | 1989-10-17 | 1993-04-06 | Sundisk Corporation | Device and method for defect handling in semi-conductor memory |
US5199033A (en) * | 1990-05-10 | 1993-03-30 | Quantum Corporation | Solid state memory array using address block bit substitution to compensate for non-functional storage cells |
EP0464433A3 (en) * | 1990-06-29 | 1994-05-18 | Nat Semiconductor Corp | Microcontroller device having remotely programmable eprom & method of programming |
DE69021732T2 (de) * | 1990-12-04 | 1996-01-18 | Hewlett Packard Ltd | Wiederprogrammierbare Datenspeicherungsanlage. |
GB2251323B (en) * | 1990-12-31 | 1994-10-12 | Intel Corp | Disk emulation for a non-volatile semiconductor memory |
GB2251324B (en) * | 1990-12-31 | 1995-05-10 | Intel Corp | File structure for a non-volatile semiconductor memory |
JP2549209B2 (ja) * | 1991-01-23 | 1996-10-30 | 株式会社東芝 | 半導体記憶装置 |
JP3282188B2 (ja) * | 1991-06-27 | 2002-05-13 | 日本電気株式会社 | 半導体メモリ装置 |
JP2582487B2 (ja) * | 1991-07-12 | 1997-02-19 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 半導体メモリを用いた外部記憶システム及びその制御方法 |
US5224070A (en) * | 1991-12-11 | 1993-06-29 | Intel Corporation | Apparatus for determining the conditions of programming circuitry used with flash EEPROM memory |
JP3251968B2 (ja) * | 1992-01-20 | 2002-01-28 | 富士通株式会社 | 半導体記憶装置 |
US6256642B1 (en) * | 1992-01-29 | 2001-07-03 | Microsoft Corporation | Method and system for file system management using a flash-erasable, programmable, read-only memory |
US5327383A (en) * | 1992-04-21 | 1994-07-05 | Intel Corporation | Method and circuitry for erasing a nonvolatile semiconductor memory incorporating row redundancy |
JPH0636593A (ja) * | 1992-07-14 | 1994-02-10 | Mitsubishi Electric Corp | 半導体記憶装置 |
JPH0750558B2 (ja) * | 1992-09-22 | 1995-05-31 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 一括消去型不揮発性メモリ |
US5353256A (en) * | 1993-06-30 | 1994-10-04 | Intel Corporation | Block specific status information in a memory device |
US5509134A (en) * | 1993-06-30 | 1996-04-16 | Intel Corporation | Method and apparatus for execution of operations in a flash memory array |
-
1994
- 1994-10-06 SG SG1996001988A patent/SG49632A1/en unknown
- 1994-10-06 GB GB9420169A patent/GB2283342B/en not_active Expired - Fee Related
- 1994-10-21 FR FR9412595A patent/FR2711834B1/fr not_active Expired - Fee Related
- 1994-10-25 CH CH03196/94A patent/CH690943A5/fr not_active IP Right Cessation
-
1996
- 1996-09-27 US US08/720,311 patent/US5765184A/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5357627A (en) * | 1989-03-28 | 1994-10-18 | Olympus Optical Co., Ltd. | Microcomputer having a program correction function |
US5333300A (en) * | 1991-02-11 | 1994-07-26 | Intel Corporation | Timing circuitry and method for controlling automated programming and erasing of a non-volatile semiconductor memory |
US5305276A (en) * | 1991-09-11 | 1994-04-19 | Rohm Co., Ltd. | Non-volatile IC memory |
Also Published As
Publication number | Publication date |
---|---|
US5765184A (en) | 1998-06-09 |
GB2283342B (en) | 1998-08-12 |
SG49632A1 (en) | 1998-06-15 |
GB9420169D0 (en) | 1994-11-23 |
CH690943A5 (fr) | 2001-02-28 |
GB2283342A (en) | 1995-05-03 |
FR2711834B1 (fr) | 1997-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2711834A1 (fr) | Circuit programmable de mémoire de codes pour mémoire flash. | |
EP1342244B1 (fr) | Memoire flash effacable par page | |
FR2627315A1 (fr) | Procede de preconditionnement, effacement et/ou programmation d'un composant de memoire eeprom | |
EP1111621B1 (fr) | Mémoire flash programmable page par page | |
US7307890B2 (en) | Method for operating page buffer of nonvolatile memory device | |
EP0791933B1 (fr) | Mémoire non volatile multiniveau modifiable électriquement avec rafraíchissement autonome | |
EP1988549B1 (fr) | Mémoire non volatile à effacement partiel | |
US5526311A (en) | Method and circuitry for enabling and permanently disabling test mode access in a flash memory device | |
FR2716566A1 (fr) | Circuit de sélection d'éléments de mémoire redondants et mémoire "Flash Eeprom" comportant ledit circuit. | |
FR2851074A1 (fr) | Memoire flash sectorisee comprenant des moyens de controle et de rafraichissement de cellules memoire | |
US20050082579A1 (en) | Nonvolatile semiconductor storage device | |
FR2816750A1 (fr) | Memoire flash comprenant des moyens de controle de la tension de seuil de cellules memoire | |
FR3006491A1 (fr) | Procede d’ecriture dans une memoire de type eeprom incluant un rafraichissement de cellules memoire | |
FR2627316A1 (fr) | Memoire eeprom " flash " a processeur de controle du port d'ordres | |
JP3789977B2 (ja) | 不揮発性半導体記憶装置 | |
FR2714513A1 (fr) | Circuit programmable de mémoire de codes pour mémoire flash. | |
EP0875899B1 (fr) | Ensemble de deux mémoires sur un même circuit intégré monolithique | |
JPH113594A (ja) | 不揮発性メモリおよびデータ書込み、読出し方法 | |
EP0606796B1 (fr) | Procédé de programmation en champ uniforme d'une mémoire électriquement programmable et mémoire mettant en oeuvre le procédé | |
EP1085520B1 (fr) | Procédé d'écriture en mode page d'une mémoire non volatile électriquement programmable/effaçable et architecture correspondante | |
FR2604554A1 (fr) | Dispositif de securite pourla programmation d'une memoire non volatile programmable electriquement | |
EP1012847B1 (fr) | Procede d'enregistrement d'un mot binaire au moyen de cellules memoire du type programmable et effa able electriquement | |
FR2831315A1 (fr) | Memoire eeprom comprenant des moyens de lecture simultanee de bits speciaux d'un premier et d'un second type | |
FR2776820A1 (fr) | Memoire a grille flottante electriquement effacable organisee en mots | |
EP1542130A1 (fr) | Mémoire série comprenant des moyens d'intégration dans un plan mémoire étendu |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20090630 |