FR2708763A1 - Dispositif de mémoire flash, procédé et circuit de traitement d'un ordre d'utilisateur dans un dispositif de mémoire flash et système d'ordinateur comprenant un dispositif de mémoire flash. - Google Patents

Dispositif de mémoire flash, procédé et circuit de traitement d'un ordre d'utilisateur dans un dispositif de mémoire flash et système d'ordinateur comprenant un dispositif de mémoire flash. Download PDF

Info

Publication number
FR2708763A1
FR2708763A1 FR9407936A FR9407936A FR2708763A1 FR 2708763 A1 FR2708763 A1 FR 2708763A1 FR 9407936 A FR9407936 A FR 9407936A FR 9407936 A FR9407936 A FR 9407936A FR 2708763 A1 FR2708763 A1 FR 2708763A1
Authority
FR
France
Prior art keywords
queue
circuit
user
order
flash
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
Application number
FR9407936A
Other languages
English (en)
Other versions
FR2708763B1 (fr
Inventor
Fandrich Mickey Lee
Richard J Durante
Rodney R Rozman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of FR2708763A1 publication Critical patent/FR2708763A1/fr
Application granted granted Critical
Publication of FR2708763B1 publication Critical patent/FR2708763B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Abstract

L'invention concerne un dispositif de mémoire flash (310). Il comprend: un réseau de cellules flash (20) comprenant une série de cellules flash; un circuit de dispositif de commande (50) de réseau flash afin d'exécuter, selon une opération de file d'attente reçue par un bus de file d'attente, des opérations de programmation et d'effacement sur le réseau de cellules flash (20); un circuit d'interface (40) qui reçoit par l'intermédiaire d'un bus (106) de serveur un ordre d'utilisateur et un ensemble de paramètres d'ordres, le circuit d'interface (40) déterminant un ensemble de bits de commande de ressources limitées pour l'ordre de l'utilisateur et mettant en file d'attente vers le circuit du dispositif de commande (50) de réseau flash, sur le bus de file d'attente, l'ordre d'utilisateur et les paramètres d'ordre et les bits de commande de ressources limitées. Elle concerne aussi un procédé, un circuit de traitement de ce dispositif, et un système d'ordinateur équipé du dispositif ou du circuit.

Description

La présente invention concerne un circuit d'interface d'utilisateur destiné à un dispositif de mémoire éclair, dite flash, dans lequel le circuit d'interface d'utilisateur met en file d'attente des opérations vers un dispositif de commande de réseau flash pour le dispositif de mémoire.
C'est un premier but de la présente invention que de réaliser un tel circuit d'interface qui soit flexible en utilisation.
C'est un autre but de la présente invention que de réaliser un circuit flexible d'interface d'utilisateur destiné à un dispositif de mémoire flash, dans lequel le circuit d'interface d'utilisateur alloue les ressources limitées à des ordres d'utilisateur transférés vers le dispositif de commande de réseau flash.
C'est un autre but de la présente invention que de permettre à un dispositif de commande de réseau flash de choisir, soit une opération de mise en file d'attente primaire, soit une opération de mise en file d'attente secondaire à partir du circuit d'interface.
C'est un autre but de la présente invention que de convertir des ordres d'utilisateur en une valeur de déport qui spécifie dans une mémoire de code, pour le dispositif de commande de réseau flash, une entrée d'un tableau de saut de sous-programme de traitement d'ordre, d'une manière telle que la valeur de déport est transférée au dispositif de commande de réseau flash, par l'intermédiaire des files d'attente d'opération, et permet au dispositif de commande de réseau flash un envoi vers le sous-programme approprié de traitement d'ordre.
Afin d'atteindre ces buts ainsi que d'autres, la présent invention réalise, selon un premier aspect, un dispositif de mémoire flash, caractérisé en ce qu'il comprend:
un réseau de cellules flash comprenant une série de cellules flash;
un circuit de dispositif de commande de réseau flash afin d'exécuter, selon une opération de file d'attente reçue par un bus de file d'attente, des opérations de programmation et d'effacement sur le réseau de cellules flash;
un circuit d'interface qui reçoit par l'intermédiaire d'un bus de serveur un ordre d'utilisateur et un ensemble de paramètres d'ordres, et
le circuit d'interface détermine un ensemble de bits de commande de ressources limitées pour l'ordre de l'utilisateur et met en file d'attente vers le circuit du dispositif de commande de réseau flash, sur le bus de file d'attente, l'ordre d'utilisateur et les paramètres d'ordre et les bits de commande de ressources limitées.
Les bits de commande de ressources limitées peuvent spécifier un plan de page dans un circuit de tampon de pages qui inclut plusieurs plans de pages.
De préférence, l'opération de file d'attente peut comprendre une opération de file d'attente principale et une opération de file d'attente secondaire et,
l'opération de file d'attente principale et l'opération de file d'attente secondaire comprennent chacune une adresse d'opération pour le réseau de cellules flash, une valeur de donnée d'opération pour charger le réseau de cellules flash, un déport d'opération qui spécifie un sous-programme du dispositif de commande de réseau flash qui traite l'ordre d'utilisateur, et les bits de commande de ressources limitées.
De façon avantageuse, le dispositif de commande de réseau flash peut, dans ce cas, transférer au circuit d'interface un signal de choix d'opération de file d'attente de manière à choisir l'opération de file d'attente principale ou l'opération de file d'attente secondaire.
Dans le cas de la modalité préférée, le circuit d'interface peut engendrer le déport d'opération en implantant l'ordre d'utilisateur dans un vecteur de saut qui spécifie le sous-programme du dispositif de commande de réseau flash qui traite l'ordre d'utilisateur.
On peut alors prévoir que le sous-programme de traitement de l'ordre d'utilisateur traite une série de classes d'ordres d'utilisateur, et que
les classes d'ordres d'utilisateur comprennent un programme à deux cycles avec opération de tampon de pages, un programme à deux cycles sans opérations de tampon de pages, un programme à trois cycles avec opération de tampon de pages, et un programme à trois cycles sans opération de tampon de pages.
Dans ce cas, les bits de commande de ressources limitées peuvent spécifier un plan de page d'un circuit de tampon de pages si l'ordre d'utilisateur est le programme à deux cycles avec opération de tampon de pages ou le programme à trois cycles avec opération de tampon de pages,
le plan de page formant tampon pour un bloc de données d'écriture reçu par l'intermédiaire du bus de serveur
Dans ce cas, l'ordre d'utilisateur peut être le programme à deux cycles avec opération de tampon de pages ou le programme à deux cycles sans opération de tampon de pages si une partie de donnée du bus serveur est d'une première largeur de bits, ou
l'ordre d'utilisateur peut être le programme à trois cycles avec opération de tampon de pages ou le programme à trois cycles sans opération de tampon de pages si la partie de donnée du bus de serveur est d'une deuxième largeur de bit.
Dans le cas de la modalité avantageuse précédente, le circuit d'interface peut comprendre:
un circuit de file d'attente temporaire couplé au bus de serveur, circuit de file d'attente temporaire qui mémorise l'adresse d'opération, la valeur de donnée d'opération, l'ordre d'utilisateur et les bits de commande de ressources limitées selon un ensemble de signaux de commande de file d'attente temporaire, le circuit de file d'attente temporaire engendrant le déport d'opération en implantant l'ordre d'utilisateur dans le vecteur de saut;
une machine d'état d'ordre qui reçoit l'ordre d'utilisateur par l'intermédiaire du bus de serveur et engendre les bits de commande de ressources limitées, la machine d'état d'ordre engendrant les signaux de commande de file d'attente temporaire selon l'ordre d'utilisateur et selon une largeur d'une partie de donnée du bus de serveur;
un circuit de file d'attente d'opération qui reçoit une entrée de file d'attente temporaire comprenant l'adresse d'opération, la donnée de valeur d'opération, le déport d'opération, et les bits de commande de ressources limitées à partir du circuit de file d'attente temporaire, le circuit de file d'attente d'opération mémorisant l'entrée temporaire de file d'attente dans une tranche disponible de file d'attente parmi une série de tranches de files d'attente, le circuit de file d'attente d'opération recevant le signal de choix d'opération de file d'attente de manière à choisir l'une des tranches de file d'attente pour l'accès par le dispositif de commande de réseau flash.
Selon un deuxième aspect, la présente invention fournit un procédé de traitement d'un ordre d'utilisateur dans un dispositif de mémoire flash, caractérisé en ce qu'il comprend les étapes consistant à:
recevoir par l'intermédiaire d'un bus de serveur l'ordre d'utilisateur et un ensemble de paramètres d'ordre;
déterminer un ensemble de bits de commande de ressources limitées pour l'ordre d'utilisateur;
mettre en file d'attente vers un circuit de dispositif de commande de réseau flash, par l'intermédiaire d'un bus de file d'attente, l'ordre d'utilisateur et les paramètres d'ordre et les bits de commande de ressources limitées, le circuit de dispositif de commande de réseau flash effectuant selon l'ordre d'utilisateur et les paramètres d'ordre une opération de programmation ou d'effacement sur un réseau de cellules flash.
Les bits de commande de ressources limitées peuvent spécifier un plan de page dans un circuit de tampon de pages comprenant une série de plans de pages.
L'étape de mise en file d'attente de l'ordre d'utilisateur peut comprendre les étapes consistant à:
mémoriser l'ordre d'utilisateur et les paramètres d'ordre et les bits de commande de ressources limitées dans une tranche disponible de file d'attente parmi une série de tranches de file d'attente, chaque tranche de file d'attente comprenant une opération de file d'attente;
recevoir du dispositif de commande de réseau flash un signal de choix d'opération de file d'attente, signal de choix d'opération de file d'attente qui spécifie l'une des tranches de file d'attente;
transférer vers le circuit du dispositif de commande de réseau flash, par l'intermédiaire du bus de file d'attente, l'opération de la file d'attente de la tranche de file d'attente selon le signal de choix d'opération de file d'attente
De façon avantageuse les tranches de file d'attente peuvent alors comprendre une tranche de file d'attente primaire et une tranche de file d'attente secondaire, et
la tranche de file d'attente primaire et la tranche de file d'attente secondaire comprennent une adresse d'opération pour le réseau de cellules flash, une valeur de donnée d'opération pour charger le réseau de cellules flash, un déport d'opération spécifiant un sous-programme du dispositif de commande de réseau flash qui traite l'ordre d'utilisateur et les bits de commande de ressources limitées.
Dans le cas de cette modalité avantageuse, on prévoit de préférence que l'étape de mémorisation de l'ordre d'utilisateur et des paramètres d'ordre et des bits de commande de ressources limitées dans une tranche de file d'attente disponible comprend en outre l'étape consistant à:
engendrer le déport d'opération en implantant l'ordre d'utilisateur dans un vecteur de saut qui spécifie le sous-programme du dispositif de commande de réseau flash qui traite l'ordre d'utilisateur.
On peut aussi prévoir alors que
le sous-programme de dispositif de commande de réseau flash qui traite l'ordre d'utilisateur traite une série de classes d'ordre d'utilisateur, et que
les classes d'ordres d'utilisateur comprennent un programme à deux cycles avec opération de tampon de pages, un programme à deux cycles sans opérations de tampon de pages, un programme à trois cycles avec opération de tampon de pages, et un programme à trois cycles sans opération de tampon de pages.
Dans le cas de la modalité préférée, les bits de commande de ressources limitées peuvent spécifier un plan de page d'un circuit de tampon de pages si l'ordre d'utilisateur est le programme à deux cycles avec opération de tampon de pages ou le programme à trois cycles avec opération de tampon de pages,
le plan de page formant tampon pour un bloc de données d'écriture reçu par l'intermédiaire du bus de serveur.
Dans le cas de la modalité préférée,
l'ordre d'utilisateur peut être le programme à deux cycles avec opération de tampon de pages ou le programme à deux cycles sans opération de tampon de pages si une partie de donnée du bus serveur est d'une première largeur de bits
L'ordre d'utilisateur peut être alors le programme à trois cycles avec opération de tampon de pages ou le programme à trois cycles sans opération de tampon de pages si la partie de donnée du bus de serveur est d'une deuxième largeur de bit.
Selon un troisième aspect, l'invention réalise un circuit de traitement d'un ordre d'utilisateur dans un dispositif de mémoire flash, caractérisé en ce qu'il comprend:
un circuit destiné à recevoir par l'intermédiaire d'un bus de serveur, l'ordre d'utilisateur et un ensemble de paramètres d'ordre;
un circuit de détermination d'un ensemble de bits de commande de ressources limitées pour l'ordre d'utilisateur;
un circuit qui sert à mettre en file d'attente vers un circuit de dispositif de commande de réseau flash, par l'intermédiaire d'un bus de file d'attente, l'ordre d'utilisateur et les paramètres d'ordre et les bits de commande de ressources limitées, le circuit de dispositif de commande de réseau flash effectuant une opération de programmation ou d'effacement sur un réseau de cellules flash selon 1 l'ordre d'utilisateur et les paramètres d'utilisateur.
Les bits de commande de ressources limitées peuvent spécifier un plan de page dans un circuit de tampon de pages qui inclut plusieurs plans de pages.
Le circuit de mise en file d'attente de l'ordre d'utilisateur peut comprendre:
un circuit de mémorisation de l'ordre d'utilisateur et des paramètres d'ordre et des bits de commande de ressources limitées dans une tranche disponible de file d'attente parmi une série de tranches de file d'attente, chaque tranche de file d'attente comprenant une opération de file d'attente;
un circuit de réception d'un signal de choix d'opération de file d'attente venant du dispositif de commande de réseau flash, signal de choix d'opération de file d'attente qui spécifie l'une des tranches de file d'attente;
un circuit de transfert de l'opération de file d'attente depuis la tranche de file d'attente vers le circuit du dispositif de commande de réseau flash, par l'intermédiaire du bus de file d'attente, selon le signal de choix d'opération de file d'attente.
Les tranches de file d'attente peuvent comprendre une tranche de file d'attente principale et une tranche de file d'attente secondaire,
la tranche de file d'attente principale et la tranche de file d'attente secondaire comprenant chacune une adresse d'opération pour le réseau de cellules flash, une valeur de donnée d'opération pour charger le réseau de cellules flash, un déport d'opération qui spécifie un sous-programme du dispositif de commande de réseau flash qui traite l'ordre d'utilisateur, et les bits de commande de ressources limitées
Le circuit de mémorisation de l'ordre d'utilisateur et des paramètres d'ordre et des bits de commande de ressources limitées dans une tranche disponible de file d'attente peut comprendre en outre
un circuit servant à engendrer le déport d'opération en implantant l'ordre d'utilisateur dans un vecteur de saut qui spécifie le sous-programme du dispositif de programme de commande de réseau flash qui traite l'ordre d'utilisateur.
De préférence, le sous-programme de traitement de l'ordre d'utilisateur peut alors traiter une série de classes d'ordres d'utilisateur,
les classes d'ordres d'utilisateur comprenant un programme à deux cycles avec opération de tampon de pages, un programme à deux cycles sans opérations de tampon de pages, un programme à trois cycles avec opération de tampon de pages, et un programme à trois cycles sans opération de tampon de pages.
Dans ce cas, les bits de commande de ressources limitées peuvent spécifier un plan de page d'un circuit de tampon de pages si l'ordre d'utilisateur est le programme à deux cycles avec opération de tampon de pages ou le programme à trois cycles avec opération de tampon de pages,
le plan de page formant tampon pour un bloc de données d'écriture reçu par l'intermédiaire du bus de serveur.
Dans le cas de la modalité préférée,
l'ordre d'utilisateur peut être le programme à deux cycles avec opération de tampon de pages ou le programme à deux cycles sans opération de tampon de pages si une partie de donnée du bus serveur est d'une première largeur de bits.
Dans le cas de la modalité préférée,
l'ordre d'utilisateur peut être le programme à trois cycles avec opération de tampon de pages ou le programme à trois cycles sans opération de tampon de pages si la partie de donnée du bus de serveur est d'une deuxième largeur de bit.
Selon un quatrième aspect, l'invention réalise un système d'ordinateur, caractérisé en ce qu'il comprend:
un moyen de mémoire principale qui mémorise au moins un bloc de donnée d'écriture pour une opération de programme;
un moyen central de traitement qui transfère un ordre d'utilisateur par l'intermédiaire d'un bus de serveur;
un dispositif de mémoire flash qui reçoit l'ordre d'utilisateur par l'intermédiaire du bus de serveur, alloue un ensemble de ressources limitées à l'ordre d'utilisateur et maintient l'ordre d'utilisateur dans une file d'attente d'ordre, puis exécute un ordre d'utilisateur en effectuant sur un réseau de cellules flash l'opération de programme ou une opération d'effacement.
Selon une modalité intéressante, le dispositif de mémoire flash peut comprendre:
un circuit de dispositif de commande de réseau flash qui sert à effectuer l'opération de programme ou l'opération d'effacement sur le réseau de cellules flash selon une opération de file d'attente reçue par l'intermédiaire d'un bus de file d'attente;
un circuit d'interface qui reçoit l'ordre d'utilisateur et un ensemble de paramètres d'ordre par l'intermédiaire du bus de serveur, circuit d'interface qui détermine les bits de commande de ressources limitées pour l'ordre d'utilisateur et met en file d'attente vers le circuit du dispositif de commande de réseau flash, par l'intermédiaire du bus de file d'attente, l'ordre d'utilisateur et les paramètres de commande et les bits de commande de ressources limitées.
Les bits de commande de ressources limitées peuvent alors spécifier un plan de page dans un circuit de tampon de pages d'un dispositif de mémoire flash qui inclut plusieurs plans de pages.
De préférence, dans le cas de la modalité intéressante définie ci-dessus, l'opération de file d'attente comprend une opération de file d'attente principale et une opération de file d'attente secondaire, et
l'opération de file d'attente principale et l'opération de file d'attente secondaire comprennent chacune une adresse d'opération pour le réseau de cellules flash, une valeur de donnée d'opération pour charger le réseau de cellules flash, un déport d'opération qui spécifie un sous-programme du dispositif de commande de réseau flash qui traite l'ordre d'utilisateur, et les bits de commande de ressources limitées.
De façon avantageuse, le dispositif de commande de réseau flash transfère au circuit d'interface un signal de choix d'opération de file d'attente de manière à choisir l'opération de file d'attente principale ou l'opération de file d'attente secondaire.
Dans le cas de la modalité préférée, le circuit d'interface peut engendrer le déport d'opération en implantant l'ordre d'utilisateur dans un vecteur de saut qui spécifie le sous-programme du dispositif de commande de réseau flash qui traite l'ordre d'utilisateur.
On peut prévoir alors de façon intéressante, que le sous-programme de traitement de l'ordre d'utilisateur traite une série de classes d'ordres d'utilisateur, et que
les classes d'ordres d'utilisateur comprennent un programme à deux cycles avec opération de tampon de pages, un programme à deux cycles sans opérations de tampon de pages, un programme à trois cycles avec opération de tampon de pages, et un programme à trois cycles sans opération de tampon de pages.
Dans ce cas, les bits de commande de ressources limitées peuvent spécifier un plan de page d'un circuit de tampon de pages si l'ordre d'utilisateur est le programme à deux cycles avec opération de tampon de pages ou le programme à trois cycles avec opération de tampon de pages,
le plan de page formant tampon pour un bloc de données d'écriture reçu par l'intermédiaire du bus de serveur sous commande d'un moyen central de traitement.
Dans le cas de la modalité intéressante défini ci-dessus, l'ordre d'utilisateur peut être le programme à deux cycles avec opération de tampon de pages ou le programme à deux cycles sans opération de tampon de pages si une partie de donnée du bus serveur est d'une première largeur de bits.
L'ordre d'utilisateur peut alors être le programme à trois cycles avec opération de tampon de pages ou le programme à trois cycles sans opération de tampon de pages si la partie de donnée du bus de serveur est d'une deuxième largeur de bit.
Dans le cas de la modalité avantageuse décrite plus haut, le circuit d'interface peut comprendre:
un circuit de file d'attente temporaire couplé au bus de serveur, circuit de file d'attente temporaire qui mémorise l'adresse d'opération, la valeur de donnée d'opération, l'ordre d'utilisateur et les bits de commande de ressources limitées selon un ensemble de signaux de commande de file d'attente temporaire, le circuit de file d'attente temporaire engendrant le deport d'opération en implantant l'ordre d'utilisateur dans le vecteur de saut;
une machine d'état d'ordre qui reçoit l'ordre d'utilisateur par l'intermédiaire du bus de serveur et engendre les bits de commande de ressources limitées, la machine d'état d'ordre engendrant les signaux de commande de file d'attente temporaire selon la classe d'ordre d'utilisateur;
un circuit de file d'attente d'opération qui reçoit une entrée de file d'attente temporaire comprenant l'adresse d'opération, la donnée de valeur d'opération, le déport d'opération, et les bits de commande de ressources limitées à partir du circuit de file d'attente temporaire, le circuit de file d'attente d'opération mémorisant l'entrée temporaire de file d'attente dans une tranche disponible de file d'attente parmi une série de tranches de files d'attente, le circuit de file d'attente d'opération recevant le signal de choix d'opération de file d'attente de manière à choisir l'une des tranches de file d'attente pour l'accès par le dispositif de commande de réseau flash.
Selon un cinquième aspect, l'invention réalise un système d'ordinateur, caractérisé en ce qu'il comprend:
un moyen de mémoire principale qui mémorise au moins un bloc de donnée d'écriture pour une opération de programme;
un moyen central de traitement qui transfère un ordre d'utilisateur par l'intermédiaire d'un bus de serveur;
un circuit qui reçoit l'ordre d'utilisateur par l'intermédiaire du bus de serveur, alloue un ensemble de ressources limitées à l'ordre d'utilisateur et maintient l'ordre d'utilisateur dans une file d'attente d'ordre, puis exécute un ordre d'utilisateur en effectuant sur un réseau de cellules flash l'opération de programme ou une opération d'effacement.
En particulier, le circuit qui reçoit l'ordre d'utilisateur par l'intermédiaire du bus de serveur, alloue un ensemble de ressources limitées à l'ordre d'utilisateur et maintient l'ordre d'utilisateur dans une file d'attente d'ordre, puis exécute l'ordre d'utilisateur en effectuant sur un réseau de cellules flash l'opération de programme ou une opération d'effacement peut comprendre:
un circuit destiné à recevoir par l'intermédiaire d'un bus de serveur, l'ordre d'utilisateur et un ensemble de paramètres d'ordre;
un circuit de détermination d'un ensemble de bits de commande de ressources limitées pour l'ordre d'utilisateur;
un circuit qui sert à mettre en file d'attente vers un circuit de dispositif de commande de réseau flash, par l'intermédiaire d'un bus de file d'attente, l'ordre d'utilisateur et les paramètres d'ordre et les bits de commande de ressources limitées, le circuit de dispositif de commande de réseau flash effectuant l'opération de programmation ou l'opération d'effacement sur un réseau de cellules flash selon l'ordre d'utilisateur et les paramètres d'utilisateur.
Les bits de commande de ressources limitées peuvent spécifier un plan de page dans un circuit de tampon de pages qui inclut plusieurs plans de pages.
Dans le cas particulier défini ci-dessus, le circuit de mise en file d'attente de l'ordre d'utilisateur peut comprendre:
un circuit de mémorisation de l'ordre d'utilisateur et des paramètres d'ordre et des bits de commande de ressources limitées dans une tranche disponible de file d'attente parmi une série de tranches de file d'attente, chaque tranche de file d'attente comprenant une opération de file d'attente;
un circuit de réception d'un signal de choix d'opération de file d'attente venant du dispositif de commande de réseau flash, signal de choix d'opération de file d'attente qui spécifie l'une des tranches de file d'attente;
un circuit de transfert de l'opération de file d'attente depuis la tranche de file d'attente vers le circuit du dispositif de commande de réseau flash, par l'intermédiaire du bus de file d'attente, selon le signal de choix d'opération de file d'attente.
Dans le cas particulier déjà défini, les tranches de file d'attente peuvent comprendre une tranche de file d'attente principale et une tranche de file d'attente secondaire,
la tranche de file d'attente principale et la tranche de file d'attente secondaire comprenant chacune une adresse d'opération pour le réseau de cellules flash, une valeur de donnée d'opération pour charger le réseau de cellules flash, un déport d'opération qui spécifie un sous-programme du dispositif de commande de réseau flash qui traite l'ordre d'utilisateur, et les bits de commande de ressources limitées.
De préférence, le circuit de mémorisation de l'ordre d'utilisateur et des paramètres d'ordre et des bits de commande de ressources limitées dans une tranche disponible de file d'attente peut alors comprendre en outre
un circuit servant à engendrer le déport d'opération en implantant l'ordre d'utilisateur dans un vecteur de saut qui spécifie le sous-programme du dispositif de programme de commande de réseau flash qui traite l'ordre d'utilisateur.
Le sous-programme du dispositif de commande de réseau flash qui traite l'ordre d'utilisateur peut alors traiter une série de classes d'ordres d'utilisateur,
les classes d'ordres d'utilisateur comprenant un programme à deux cycles avec opération de tampon de pages, un programme à deux cycles sans opérations de tampon de pages, un programme à trois cycles avec opération de tampon de pages, et un programme à trois cycles sans opération de tampon de pages.
Dans le cas de la modalité préférée définie cidessus, les bits de commande de ressources limitées spécifient un plan de page d'un circuit de tampon de pages si l'ordre d'utilisateur est le programme à deux cycles avec opération de tampon de pages ou le programme à trois cycles avec opération de tampon de pages,
le plan de page formant tampon pour un bloc de données d'écriture reçu par l'intermédiaire du bus de serveur
Dans le cas de la modalité préférée déjà définie ci-dessus, l'ordre d'utilisateur peut être le programme à deux cycles avec opération de tampon de pages ou le programme à deux cycles sans opération de tampon de pages si une partie de donnée du bus serveur est d'une première largeur de bits.
Dans ce cas, l'ordre d'utilisateur peut être le programme à trois cycles avec opération de tampon de pages ou le programme à trois cycles sans opération de tampon de pages si la partie de donnée du bus de serveur est d'une deuxième largeur de bit.
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 semblables indiquent des éléments similaires dans lesquels:
La Figure 1 est un schéma fonctionnel d'un système d'ordinateur qui inclut une unité centrale de traitement ou (UCT), un sous-système de mémoire principale, et un ensemble de dispositifs de mémoires flash;
La Figure 2 est un schéma fonctionnel du dispositif de mémoire flash qui inclut un réseau de cellules flash, un circuit d'interface, un dispositif de commande de réseau flash, un ensemble de tampons de pages, un ensemble de circuits de registres de commande, et un ensemble de circuit de trajet de lecture/d'ecriture;
La Figure 3 est un schéma fonctionnel du circuit d'interface qui comprend une machine d'état d'ordre, une file d'attente temporaire, une file d'attente d'opération et un ensemble de registres d'état;
La Figure 4 illustre le circuit de file d'attente temporaire qui mémorise une entrée de file d'attente temporaire comprenant une file d'attente d'adresse, une file d'attente de donnée, une file d'attente de déport, et une file d'attente de bit de ressources limitées;
La Figure 5 illustre la fonction du circuit de conversion d'ordre qui reçoit du registre temporaire d'ordre un ordre d'utilisateur à huit bits et qui engendre la file d'attente de déport à cinq bits;
La Figure 6 illustre le format de tranches de files d'attente de la file d'attente d'opération, dans laquelle les tranches de files d'attente maintiennent une opération de file d'attente principale et une opération de file d'attente secondaire pour le dispositif de commande de réseau flash;
La Figure 7 illustre le circuit de file d'attente d'opération qui contient les tranches de files d'attente pour les opérations de files d'attente principale et secondaire;
La Figure 8 illustre la synchronisation d'une opération d'octet de programme dans un mode à huit bits vers le dispositif de mémoire flash;
La Figure 9 illustre la synchronisation d'une opération de mot de programme dans un mode à seize bits vers le dispositif de mémoire flash;
La Figure 10 illustre la synchronisation d'une opération de mot de programme en mode à huit bits vers le dispositif de mémoire flash.
La Figure 1 est un schéma fonctionnel d'un système d'ordinateur 300. Le système d'ordinateur 300 comprend une unité centrale de traitement (ou UCT) 302, un sous-système 304 de mémoire principale, et un ensemble de dispositifs de mémoires flash 310 à 314.
L'UCT 302 communique, par l'intermédiaire d'un bus 306 de serveur, avec le sous-système 304 de mémoire principale et avec les dispositifs 310 à 314 de mémoires flash.
Les dispositifs 310 à 314 de mémoires flash constituent pour le système d'ordinateur 300 une mémoire vive non volatile de données de grande échelle. L'UCT 302 lit le contenu des dispositifs de mémoire flash 310 à 314 en engendrant des cycles de lecture de mémoire par l'intermédiaire du bus 306 de serveur. L'UCT 302 écrit dans les dispositifs de mémoire flash 310 à 314 en transférant vers les dispositifs flash 310 à 314, par l'intermédiaire du bus 306 de serveur, des ordres d'écriture et des blocs de données d'écriture.
La Figure 2 est un schéma fonctionnel du dispositif de mémoire flash 310. Le dispositif de mémoire flash 310 comprend un réseau 20 de cellules flash, un circuit d'interface 40, un ensemble de circuits 80 à 85 de registres de commande et un ensemble de circuit de
Le réseau 20 de cellules flash réalise une mémoire vive non volatile de données de grande échelle. Pour un mode de réalisation, le réseau 20 de cellules flash est agencé sous la forme d'un ensemble de 32 blocs de réseau flash. Chaque bloc de réseau flash offre 64 k octets de mémoire de données.
Le dispositif de mémoire flash 310 est représenté couplé au bus 306 de serveur. Le bus 306 de serveur comprend un bus 102 d'adresse d'utilisateur, un bus 104 de donnée d'utilisateur, et un bus 106 de commande d'utilisateur.
Le circuit de trajet de lecture/d'écriture 30 comprend un circuit de trajet de lecture et d'écriture qui permet d'accéder au réseau flash 20. Par exemple, le circuit de trajet de lecture/d'écriture 30 inclut un circuit de décodage d'adresses de rangées de colonnes pour le réseau flash 20. Le circuit de trajet de lecture/d'écriture 30 inclut aussi un réseau de redondance pour des adresses prioritaires si une cellule flash défectueuse est détectée dans le réseau flash 20. Le circuit de trajet de lecture/d'écriture 30 inclut aussi un circuit de mini-réseau pour engendrer des bits flash de référence et un circuit de trajet de détection afin de comparer les bits flash de référence à de bits venant du réseau flash 20 de manière à déterminer si les bits sont à l'état logique 1 ou à l'état logique 0.
Le circuit de trajet de lecture/d'écriture 30 inclut aussi un circuit multiplexeur qui sert à choisir entre des bits venant du réseau flash 20 et des bits redondants, ainsi qu'un circuit multiplexeur qui sert à choisir entre les octets supérieurs et les octets inférieurs du réseau flash 20 afin de réaliser des accès à 8 bits et à 16 bits. Le circuit de trajet de lecture/d'écriture 30 inclut un circuit de tampon de sortie pour envoyer des données depuis le réseau flash 20 par l'intermédiaire de pastilles de sortie du dispositif de mémoire flash 310.
Le circuit de trajet de lecture/d'écriture 30 inclut un circuit de détection de transition d'adresses. Le circuit de détection de transitions d'adresses engendre des impulsions de commande lorsque des transitions d'adresses sont détectées. Les impulsions de commande sont employées pour accélérer un chargement de colonne aux sorties du réseau flash 20 avant que la donnée ne soit prête.
Le circuit de trajet de lecture/d'écriture 30 inclut un circuit à haute tension qui sert à l'accès au réseau flash 20. Par exemple, le circuit de trajet de lecture/d'écriture 30 inclut un circuit de commutation VPX qui sert à régler la tension de ligne de mot pour programmer une donnée dans le réseau flash 20, et un circuit générateur VPY qui sert à régler la ligne de charge de programmation. Le circuit de trajet de lecture/d'écriture 30 inclut aussi un circuit générateur VSI qui sert à régler la tension de source de blocs non choisis du réseau flash 20 pendant la programmation.
Le circuit de trajet de lecture/d'écriture 30 inclut des circuits de conversion de numérique à analogique pour engendrer des niveaux de tensions de référence pour des opérations de vérification de programmes ainsi que pour des opérations de vérification d'effacement et des opérations de réparation après effacement. Le circuit de trajet de lecture/d'écriture 30 inclut aussi un circuit de commutation VPS qui sert à régler le niveau de tension de source à VPP pendant des opérations d'effacement.
Le trajet de lecture/d'écriture 30 inclut un circuit de commutation de source qui sert à appliquer les niveaux appropriés de tensions au réseau de cellules flash 20 pour une fonction d'effacement. Le trajet de lecture/d'écriture 30 inclut aussi un circuit de charge de programme pour amener des tensions de niveau de programme sur les lignes de bits du réseau de cellules flash 20 pendant une fonction de programmation.
Les circuits de registres de commande 80 et 85 contiennent des ensembles de registres spécialisés de commande et de circuits associés pour la commande d'un trajet de lecture/d'écriture 30. Les registres spécialisés de commande sont programmés par un bus central de commande 100 qui peut y accéder.
Le circuit d'interface 40 permet un accès du réseau flash 20 par l'intermédiaire du bus 306 de serveur en recevant et en traitant des ordres par l'intermédiaire du bus 306 de serveur. Le circuit d'interface 40 reçoit des ordres par l'intermédiaire du bus 104 de donnée d'utilisateur, vérifie les ordres, et met en file d'attente un déport d'ordre vers le dispositif de commande 50 de réseau flash par l'intermédiaire d'un bus 41 de commande. Ensuite, le dispositif de commande 50 de réseau flash exécute ce qui correspond au déport d'ordre en utilisant la partie appropriée du dispositif de mémoire flash 310.
Le dispositif de commande 50 de réseau flash est un processeur spécialisé à jeu d'instructions réduit qui sert à exécuter des opérations de programme, d'effacement, et autres sur le réseau flash 20. Le dispositif de commande 50 de réseau flash inclut une unité logique arithmétique, des registres polyvalents, une mémoire de commande et un séquenceur de commande.
Le dispositif de commande 50 de réseau flash utilise les déports d'ordre reçus par l'intermédiaire du bus 41 de commande pour l'envoi à l'emplacement approprié de la mémoire de commande qui contient le sousprogramme d'exécution de l'opération spécifiée.
Le dispositif de commande 50 de réseau flash implante des algorithmes de séquencement du circuit à haute tension du trajet de lecture/d'écriture 30 afin d'appliquer une charge aux cellules flash du réseau de cellules flash 20 et d'enlever une charge des cellules flash du réseau de cellules flash 20. Le dispositif de commande 50 de réseau flash commande le circuit à haute tension et adresse le réseau flash 20 en accédant aux circuits de registres de commande 80 à 85 par l'intermédiaire du bus central de commande 100.
Un circuit d'accès de commande 60 permet tant au circuit d'interface 40 qu'au dispositif de commande 50 de réseau flash d'accéder aux circuits de registres de commande 80 à 85 par l'intermédiaire du bus central de commande 100. Dans un mode normal du dispositif de mémoire flash 310, le dispositif de commande 50 de réseau flash commande le circuit 60 d'accès de commande et accède aux circuits de registres de commande 80 à 85 par l'intermédiaire du bus central de commande 100.
Le dispositif de commande 50 de réseau flash écrit dans des registres spécialisés de commande en transférant un signal de commande d'écriture et une adresse de registre ainsi qu' unie donnée correspondante d'écriture au circuit d'accès de commande 60 par l'intermédiaire d'un bus 52. Le circuit d'accès de commande 60 engendre ensuite un cycle d'écriture par l'intermédiaire du bus central de commande 100 afin de programmer le registre spécialisé de commande adressé.
Le dispositif de commande 50 de réseau flash lit les registres spécialisés de commande en transférant une adresse de registre et un signal de commande de lecture au circuit 60 d'accès de commande par l'intermédiaire du bus 52. Le circuit 60 d'accès de commande engendre ensuite un cycle d'accès de lecture par l'intermédiaire du bus central de commande 100 afin de lire le registre spécialisé de commande adressé.
Le circuit de registre de commande 80 contient des registres spécialisés de commande et un circuit qui sert à commander le circuit à haute tension du trajet de lecture/d'écriture 30 selon un ensemble de signaux de commande 90. Les registres de commande de haute tension incluent des registres d'interfaces de commutateurs de sources, des registres d'interfaces qui servent à commander les multiplexeurs VPX et VPIX, des registres d'interfaces de commutateurs VPP/VCC, des registres d'interfaces de commande de générateurs de référence, de multiplexeurs et de comparateurs et des registres d'interfaces de trajet de donnée de programmation.
Le circuit de registre de commande 81 contient des registres de commande et un circuit qui sert à commander un circuit spécial d'accès de colonnes du trajet de lecture/d'écriture 30 selon un ensemble de signaux de commande 91. Les registres spéciaux de commande d'accès de colonnes incluent des registres d'interfaces de mini-réseau, des registres d'interfaces de redondance, des registres d'interfaces d'impression, et des registres d'interfaces de mémoires associatives, ou adressables par le contenu.
Le circuit de registre de commande 82 contient un ensemble de registres de type mémoire morte qui sert à détecter iet à verrouiller un ensemble de signaux d'état 92 venant du trajet de lecture/d'écriture 30.
Les signaux d'état 92 incluent les sorties de tampons logiques transistor-transistor, ou TTL, qui correspondent à des pastilles d'entrée du dispositif de mémoire flash 310, des sorties des amplificateurs de détection pour les réseaux de cellules flash 20, des sorties de compteurs de tampons de pages, des sorties des comparateurs de trajet de lecture/d'écriture 30, et le compteur de programme 50 du dispositif de commande de réseau flash.
Le circuit de registres de commande 83 contient des registres de commande et un circuit qui sert à commander le trajet de lecture/d'écriture 30 selon un ensemble de signaux de commande 93. Les registres de commande du trajet de lecture incluent des registres d'interfaces de détection de transition automatique, des registres d'interfaces de détection, des registres d'interfaces de trajet x, y et z.
Le circuit de registres de commande 84 contient des registres qui servent à commander un ensemble de modes d'essais du circuit de tampon de pages 70. Les registres de commande du circuit de registre de commande 84 engendre un ensemble de signaux de commande 94 de modes d'essais. Les registres de commande du circuit de registres 84 sont programmés par l'intermédiaire du bus central de commande 100 par le dispositif de commande 50 de réseau flash ou par le circuit d'interface 40.
Le circuit de registre de commande 85 contient des registres qui servent à commander des particularités spéciales d'essais du dispositif de mémoire flash 310 selon un ensemble de signaux de commande 95. Les registres d'essais spéciaux incluent des registres d'accès aux modes d'essais, des registres de détection de VPP, des registres de modification d'état prêt et occupé, et des registres d'allocations d'adresses.
Le circuit d'interface 40 commande un multiplexeur 35 d'adresses d'entrée de manière à choisir une adresse d'entrée 36 pour le trajet de lecture/d'écriture 30. L'adresse d'entrée choisie 36 est, soit l'adresse captée par des tampons TTL (non représentés) sur le bus 102 d'adresses d'utilisateur, soit l'adresse d'un bus 37 d'adresse de file d'attente venant du circuit d'interface 40. Les registres de commande de programmation sont prioritaires vis-à-vis de l'adresse d'entrée 36 par l'intermédiaire du bus central de commande 100.
Le circuit d'interface 40 commande un multiplexeur 45 de données de sortie afin de choisir une source pour le transfert de données de sortie par l'intermédiaire du bus 104 de donnée d'utilisateur. La donnée de sortie est, soit une donnée 46 de réseau flash venant du trajet de lecture/d'écriture 30, soit une donnée 47 de tampon de pages venant du circuit 70 de tampon de pages, soit une donnée 48 de registres d'état venant d'un ensemble de registres d'état contenus à l'intérieur du circuit d'interface 40.
Une broche de commande d'entrée destiné au dispositif de mémoire flash 310 indique si la largeur du bus 104 de donnée d'utilisateur est de huit bits ou de seize bits. Le circuit d'interface 40 détecte un état de la broche de commande d'entrée afin de déterminer si le dispositif de mémoire flash 310 est dans un mode à huit bits ou un mode à seize bits.
L'UCT 302 lit le réseau 20 de cellules flash en transférant des adresses par l'intermédiaire du bus 102 d'adresses d'utilisateur tout en envoyant des signaux de cycles de lecture par l'intermédiaire du bus 106 de commande d'utilisateur. Le circuit d'interface 40 détecte les cycles de lecture et amène le multiplexeur 35 d'adresses d'entrée à transférer les adresses venant du bus 102 d'adresses d'utilisateur vers le circuit de décodage x et y du trajet de lecture/d'écriture 30. Le circuit d'interface 40 amène aussi le multiplexeur 45 de données de sortie à transférer la donnée lue adressée qui vient du trajet de lecture/d'écriture 30 par l'intermédiaire du bus 104 de donnée d'utilisateur.
L'UCT 302 écrit une donnée dans le réseau de cellules flash 20 en engendrant des cycles d'écriture par l'intermédiaire du bus 306 de serveur afin de transférer des ordres de programme et des données au circuit d'interface 40. Le circuit d'interface 40 vérifie les ordres de programme, et met en file d'attente vers le dispositif de commande 50 de réseau flash les ordres de programme et des paramètres d'adresses et de données. Le dispositif de commande 50 de réseau flash effectue l'opération du programme en programmant la donnée spécifiée à l'adresse spécifiée dans le réseau flash 20.
L'UCT 302 écrit facultativement une donnée sur le réseau de cellules flash 20 en engendrant des cellules d'écriture par l'intermédiaire du bus 306 de serveur afin de transférer une donnée de programme vers le circuit de tampons de pages 70. L'UCT 302 transfère ensuite un programme avec ordre de tampon de pages au circuit d'interface 40. Le circuit d'interface 40 vérifie le programme à l'aide de l'ordre de tampon de pages, et met en file d'attente vers le dispositif de commande 50 de réseau flash le programme avec ordre de tampon de pages. Le dispositif de commande 50 de réseau flash exécute le programme avec ordre de tampon de pages en lisant la donnée du programme venant du circuit de tampons de pages 70 et en programmant la donnée de programme dans le réseau flash 20.
Le circuit de tampons de pages 70 comprend deux plans séparés de mémoire vive statique (SRAM) de 256 par 8 bits. Les deux plans de mémoire vive statique comprennent un plan de page 0 et un plan de page 1. Le circuit d'interface 40 alloue des ressources de tampons de pages du plan de page 0 et du plan de page 1 à des ordres d'utilisateurs traités par le dispositif de commande 50 de réseau flash. Le circuit d'interface 40 alloue aussi les plans de pages 0 et 1 à un accès d'utilisateur. Les plans de pages 0 et 1 sont aussi appelés des ressources limitées.
Le circuit d'interface 40 contient 32 registres d'état de bloc ainsi que 2 registres d'état globaux.
Chaque registre d'état de bloc correspond à l'un des blocs du réseau de cellules flash 20. Le dispositif de commande 50 de réseau flash maintient des bits d'état dans les registres d'état de bloc et dans les registres d'état globaux afin d'indiquer l'état de chaque bloc du réseau de cellules flash 20. L'UCT 302 lit les contenus des registres d'état globaux et des registres d'état de bloc par l'intermédiaire du bus 306 de serveur.
La Figure 3 est un schéma fonctionnel du circuit d'interface 40. Le circuit d'interface 40 comprend une machine d'état d'ordres 210, un circuit de file d'attente temporaire 212, un circuit de file d'attente d'opération 214, et un circuit de registres d'état 216.
Le circuit d'interface 40 reçoit des ordres d'utilisateur venant de 1'UCT 302 par l'intermédiaire du bus 306 de serveur. Les ordres d'utilisateur comprennent des ordres d'utilisateur destinés à programmer le réseau flash 20, des ordres d'utilisateur destinés à lire les registres d'état du circuit 216 de registres d'état, et des ordres d'utilisateur destinés à commander les modes d'accès du circuit de tampons de pages 70.
La machine d'état d'ordres 210 reçoit et vérifie chaque ordre d'utilisateur. Un ordre d'utilisateur est traité, soit directement par la machine d'état d'ordres 210, soit par le dispositif de commande 50 de réseau flash selon la fonction spécifiée par l'ordre d'utilisateur. Si l'ordre d'utilisateur exige un traitement par le dispositif de commande 50 de réseau flash, la machine d'état d'ordres 210 engendre des signaux de commande par l'intermédiaire du bus 220 d'ordre de manière à transférer vers le dispositif de commande 50 de réseau flash un déport pour l'ordre d'utilisateur ainsi que des paramètres associés pour l'ordre d'utilisateur, par l'intermédiaire du circuit de file d'attente temporaire 212 et du circuit de file d'attente d'opération 214.
La machine d'état d'ordres 210 traite, vers le dispositif de commande 50 de réseau flash, des ordres d'utilisateur concernant la lecture des registres d'état. L'ordre d'utilisateur concernant la lecture des registres d'état inclut une adresse de registres d'état de bloc, ou adresse de BSR, à 5 bits pour choisir les 32 registres d'état de bloc dans le circuit de registres d'état 216.
La machine d'état d'ordres 210 transfère l'adresse de registre d'état de bloc par l'intermédiaire du bus d'ordres 220 afin de choisir les registres d'état de blocs du circuit de registres d'état 216. Le contenu du registre d'état de bloc choisi est transféré depuis le circuit de registres d'état 216 vers le multiplexeur de sortie 45 par l'intermédiaire du bus 48 de donnée de registre d'état. La machine d'état d'ordres 210 amène le multiplexeur de sortie 45 à transférer sur le bus 48 de donnée de registre d'état la donnée de lecture du registre d'état par l'intermédiaire du bus 104 de donnée d'utilisateur.
Le circuit de registres d'état 216 contient un registre d'état de bloc pour chacun des blocs de réseaux flash du réseau flash 20. Chaque registre d'état de bloc du circuit de registres d'état 216 mémorise des bits d'état qui offrent à l'utilisateur une information d'état spécifique au bloc.
Le dispositif de commande 50 de réseau flash maintient les bits d'état dans les registres d'état des blocs du circuit de registres d'état 216. Le dispositif de commande 50 de réseau flash accède aux registres d'état de blocs du circuit de registres d'état 216 par l'intermédiaire du bus central de commande 100. Le dispositif de commande 50 de réseau flash effectue tant les lectures que les écritures dans le circuit de registres d'état 216 par l'intermédiaire du bus central de commande 100.
Les ordres d'utilisateur qui spécifient les opérations de programme et d'effacement pour le réseau flash 20 sont traités par le dispositif de commande 50 de réseau flash. La machine d'état d'ordres 210 reçoit et vérifie les ordres de programmation et d'effacement qui viennent de l'utilisateur et engendre les signaux de commande par l'intermédiaire du bus d'ordres 220 de manière à charger dans le circuit de file d'attente temporaire 212 les ordres d'utilisateur et les paramètres associés d'adresses de données.
La machine d'état d'ordres 210 engendre aussi un jeu de bits de commande de ressources limitées pour chaque ordre d'utilisateur transféré au circuit de file d'attente temporaire 212. La machine d'état d'ordres 210 transfère des bits de commande de ressources limitées au circuit de file d'attente temporaire 212 par l'intermédiaire du bus d'ordres 220. Les bits de commande de ressources limitées définissent l'allocation, aux ordres de l'utilisateur, de tampon de pages du circuit de tampon de pages 70.
Le circuit de file d'attente temporaire 212 mémorise une entrée de file d'attente temporaire.
L'entrée de file d'attente temporaire inclut un ordre d'utilisateur, des paramètres d'adresses et de données de l'ordre de l'utilisateur, ainsi que les bits de commande de ressources limitées allouées au dispositif de commande 50 de réseau flash pour traiter l'ordre d'utilisateur.
Le circuit de file d'attente d'opération 214 contient un ensemble de tranches de files d'attente d'opération. Chaque tranche de file d'attente d'opération contient un déport de file d'attente qui correspond à un ordre d'utilisateur, une adresse de file d'attente qui correspond à l'ordre d'utilisateur, et une donnée de file d'attente qui correspond à l'ordre d'utilisateur, ainsi que les bits de commande de ressources limitées allouées à l'ordre d'utilisateur par la machine d'état d'ordres 210.
Le circuit de file d'attente temporaire 212 transfère dans une tranche de file d'attente disponible du circuit de file d'attente d'opération 214, par l'intermédiaire d'un bus 230 de file d'attente temporaire, le déport de file d'attente qui correspond à l'ordre d'utilisateur, et les paramètres associés venant de l'entrée de file d'attente temporaire. Le circuit de file d'attente temporaire 212 maintient l'entrée de file d'attente temporaire jusqu'à ce qu'une tranche de file d'attente soit disponible dans le circuit de file d'attente d'opération 214.
Le dispositif de commande 50 de réseau flash choisit une tranche de file d'attente dans le circuit de file d'attente d'opération 214 en transférant un ensemble de signaux de commande de file d'attente d'opération par l'intermédiaire du bus de commande 41.
Les signaux de commande de file d'attente d'opération amènent le circuit de file d'attente d'opération 214 à transférer par l'intermédiaire du bus 37 d'adresses de file d'attente une adresse de file d'attente depuis la tranche choisie de file d'attente et à transférer par l'intermédiaire du bus 38 de donnée de file d'attente une donnée de file d'attente venant de la tranche choisie de file d'attente d'opération. Les signaux de commande de file d'attente d'opération amènent aussi le circuit de file d'attente d'opération 214 à transférer par l'intermédiaire du bus de commande 41 un déport de file d'attente venant de la tranche choisie de file d'attente d'opération.
La Figure 4 illustre le circuit de file d'attente temporaire 212. Le circuit de fille d'attente temporaire 212 mémorise une entrée de file d'attente temporaire dans un registre temporaire d'adresse 122, un registre temporaire de donnée 124, un registre temporaire d'ordre 126, un registre temporaire d'ID de de ressources limitées (ou LRID) 128 et un registre temporaire de ressources limitées utilisées (ou LRU) 130.
Un registre 120 de file d'attente pleine reçoit de la machine d'état d'ordres 210, par l'intermédiaire du bus d'ordres 220, un signal d'échantillonnage 160 de file d'attente temporaire. Le signal d'échantillonnage 160 de file d'attente temporaire indique que la machine d'état d'ordres 210 a reçu et vérifié un ordre d'utilisateur qui exige un traitement par le dispositif de commande 50 de réseau flash. Le signal d'échantillonnage 160 de file d'attente temporaire amène le registre de file d'attente pleine 120 à engendrer un signal 250 de file d'attente temporaire de la machine d'état d'ordres 210 par l'intermédiaire du bus d'ordres 220e.
La machine d'état d'ordres 210 reçoit le signal 250 de file d'attente temporaire pleine par l'intermédiaire du bus 220 d'ordres. Le signal plein 250 de file d'attente temporaire amène la machine d'état d'ordres 210 à placer un bit d'état de file d'attente pleine dans chacun des registres d'état de blocs et des registres globaux du circuit de registres d'état 216. Les bits d'état de file d'attente pleineempêchent l'utilisateur de transférer, au circuit d'interface 40, un autre ordre d'utilisateur de programmation ou d'effacement jusqu'à ce qu'une entrée de file d'attente temporaire soit transférée depuis le circuit de file d'attente temporaire 212 vers une tranche disponible de file d'attente dans le circuit de file d'attente d'opération 214.
Le registre d'adresse temporaire 122 mémorise une adresse de file d'attente pour une entrée de file d'attente temporaire. Le registre temporaire d'adresse 122 reçoit l'adresse de file d'attente comme adresse d'utilisateur par l'intermédiaire du bus 122 d'adresses d'utilisateur. La machine d'état d'ordres engendre un signal de commande par l'intermédiaire du bus 220 d'ordres afin de synchroniser le chargement du registre temporaire d'adresse 122.
Le registre temporaire de donnée 124 mémorise une donnée de file d'attente pour une entrée de file d'attente temporaire. Le registre temporaire de donnée reçoit la donnée de file d'attente comme donnée d'utilisateur par l'intermédiaire du bus 104 de donnée d'utilisateur. La machine d'état d'ordres engendre un signal de commande par l'intermédiaire du bus d'ordre 220 afin de synchroniser le chargement du registre temporaire de donnée 124.
Le registre temporaire d'ordre 126 mémorise un ordre d'utilisateur reçu par l'intermédiaire du bus 104 de donnée d'utilisateur. La machine d'état d'ordres engendre un signal de commande par l'intermédiaire du bus 220 d'ordres afin de synchroniser le chargement du registre temporaire d'ordre 126.
La machine d'état d'ordres 210 engendre un signal de LRU 164 et un signal de LRID 162 pour l'ordre d'utilisateur mémorisé dans le registre temporaire d'ordre 126. La machine d'état d'ordres 210 suit l'allocation des ressources de tampon de pages au dispositif de commande 50 de réseau flash afin de déterminer des plans de pages disponibles. Le signal de LRU 164 indique si une ressource de tampon de pages est allouée à l'ordre d'utilisateur correspondant par la machine d'état d'ordres 210. Le signal de LRID 162 indique la ressource de tampon de pages (plan de page
O ou plan de page 1) allouée à l'ordre d'utilisateur correspondant.
Le registre temporaire de LRID 128 reçoit le signal de LRID 162 et mémorise un bit de LRID pour une entrée de file d'attente temporaire. Le registre temporaire de LRU 130 reçoit le signal de LRU 164 et mémorise un bit de LRU pour une entrée de file d'attente temporaire. Le bit de LRID et le bit de LRU comprennent les bits de commande de ressources limitées pour l'entrée de file d'attente temporaire.
Le circuit de conversion d'ordre 132 reçoit un ordre d'utilisateur 161 venant du registre temporaire d'ordre 126. Le circuit de conversion d'ordre 132 engendre un déport de file d'attente 172 pour l'entrée de file d'attente temporaire. Le circuit de conversion d'ordre 132 engendre le déport de file d'attente 172 en implantant l'ordre d'utilisateur 161 à 8 bits dans l'une des 32 adresses de mémorisation de codes pour le dispositif de commande 50 de réseau flash. Le déport de file d'attente 172 spécifie l'une des 32 premières entrées de la mémoire de code pour le dispositif de commande 50 de réseau flash.
Le circuit de file d'attente temporaire 212 transfère une entrée de file d'attente temporaire au circuit de file d'attente d'opération 214 par l'intermédiaire du bus 50 de file d'attente temporaire. L'entrée de file d'attente temporaire comprend une adresse de file d'attente temporaire 168, une valeur de donnée de file d'attente temporaire 170, un déport de file d'attente temporaire 172, une LRID de file d'attente temporaire 174, et une LRU de file d'attente temporaire 176. L'entrée de file d'attente temporaire sur le bus de déport temporaire 230 est mémorisée dans le circuit de file d'attente temporaire 214 lorsqu'unie tranche de file d'attente est disponible.
Le registre de file d'attente pleine 120 reçoit un signal 254 de restauration de file d'attente temporaire venant du circuit de file d'attente d'opération 214 par l'intermédiaire du bus d'ordre 220. Le signal 254 de restauration de file d'attente temporaire amène le registre de file d'attente pleine 120 à restaurer le signal 259 de file d'attente temporaire pleine quand une entrée de file d'attente temporaire est mémorisée dans une tranche de file d'attente du circuit de file d'attente d'opération 214. Le signal 250 de restauration de file d'attente temporaire pleine amène la machine d'état d'ordres 210 à effacer les bits d'état de file d'attente pleine dans chacun des registres d'état de bloc du circuit registres d'état de bloc 216 afin de valider un transfert d'un autre ordre d'utilisateur, de programmation ou d'effacement vers le circuit d'interface 40.
La Figure 5 illustre la fonction du circuit de conversion d'ordre 132. Le circuit de conversion d'ordre 132 reçoit un ordre d'utilisateur à huit bits 161 venant du registre temporaire d'ordre 126. Le circuit de conversion d'ordre 132 engendre la file d'attente de déport 172 à cinq bits. La file d'attente de déport 172 spécifie une entrée dans les trente-deux premiers emplacements de mémoire de code pour le dispositif de commande 50 de réseau flash. Le dispositif de commande 50 de réseau flash accède à des vecteurs de saut venant des trente-deux premiers emplacements de la mémoire de code afin d'envoyer l'un des trente-deux sous-programmes pour le traitement des opérations spécifiées par des ordres d'utilisateur.
Pour un mode de réalisation, le dispositif de commande 50 de réseau flash traite 128 ordres différents d'utilisateur spécifiés par l'ordre d'utilisateur à huit bits mémorisé dans le registre temporaire d'ordre 126. Le circuit de conversion d'ordre 132 implante les 128 ordres d'utilisateur traités par le dispositif de commande 50 de réseau flash dans trente-deux déports de file d'attente, d'une manière telle que chaque déport de file d'attente correspond à quatre ordres d'utilisateur.
Les quatre ordres d'utilisateur de chaque déport de file d'attente définissent quatre classes d'ordres d'utilisateur traités par le dispositif de commande 50 de réseau flash. Les quatre classes comprennent un ordre sans tampon de pages à deux cycles, un ordre à tampon de pages à deux cycles, un ordre sans tampon de pages à trois cycles, et un ordre à tampon de pages à trois cycles.
la Figure 6 illustre le format des tranches de file d'attente du circuit de file d'attente d'opération 214. Pour un mode de réalisation, les tranches de file d'attente du circuit de file d'attente d'opération 214 comprennent une tranche de file d'attente 1 et une tranche de file d'attente 2.
La tranche de file d'attente I maintient une opération de file d'attente principale pour le dispositif de commande 50 de réseau flash et la tranche de file d'attente 2 maintient une opération de file d'attente secondaire pour le dispositif de commande 50 de réseau flash.
Les bits 0 à 4 de chaque tranche de file d'attente contiennent la file d'attente de déport pour l'ordre d'utilisateur correspondant. La file d'attente de déport de chaque tranche de file d'attente est engendrée par le circuit de conversion d'ordre 132 selon l'ordre d'utilisateur. Les bits 5 à 20 de chaque tranche de file d'attente contiennent une valeur de file d'attente de donnée. Les bits 21 à 41 de chaque tranche de file d'attente contiennent une valeur de file d'attente d'adresse. Les bits 42 et 43 de chaque tranche de file d'attente contiennent les bits de statut de ressources limitées.
La Figure 7 illustre le circuit de file d'attente d'opération 214. Le circuit de file d'attente d'opération 214 comprend un circuit de commande de file d'attente 140, un circuit de registre de file d'attente 142, et un ensemble de multiplexeur 144 à 150. Le circuit de registre des file d'attente 142 contient des tranches de file d'attente pour les opérations de file d'attente principale et secondaire.
Le circuit de commande de file d'attente 140 achemine les entrées de files d'attente temporaire reçues du circuit de file d'attente temporaire 212 vers une tranche de file d'attente disponible.
Le circuit de commande de file d'attente 140 et le circuit de registre de file d'attente 142 reçoivent une entrée de file d'attente temporaire venant du circuit de file d'attente temporaire 212 par l'intermédiaire du bus 230 de file d'attente temporaire. Le circuit de commande de file d'attente 140 détermine si une tranche de file d'attente est disponible dans le circuit de registre de file d'attente 142. Le circuit de commande de file d'attente 140 engendre ensuite un ensemble de signaux de commande 280 afin d'acheminer vers une tranche de file d'attente disponible l'entrée de file d'attente temporaire reçue par l'intermédiaire du bus 230 de file d'attente temporaire.
Le circuit de commande de file d'attente 140 utilise un signal 272 de commande de réseau flash achevée, ou FAC achevée, et un signal 274 de choix d'opération de file d'attente afin de déterminer si une tranche de file d'attente est disponible dans le circuit de registre de file d'attente 142. Le circuit de commande de file d'attente 140 reçoit le signal 272 de FAC achevée et le signal 274 de choix d'opération de file d'attente venant du dispositif de commande 50 de réseau flash par l'intermédiaire du bus 41 de commande de FAC. Le signal 272 de FAC achevée indique que le dispositif de commande flash 50 a achevé une opération spécifiée dans le circuit de registre de file d'attente 142. Le signal de choix d'opération de file d'attente 274 indique si le dispositif de commande 50 de réseau flash reçoit actuellement une opération venant de la tranche de file d'attente principale ou de la tranche de file d'attente secondaire.
Le signal 272 de FAC achevée indique au circuit de commande de file d'attente 140 qu'une tranche de file d'attente est disponible dans le circuit de registre de file d'attente 142. Le signal 274 de choix d'opération de file d'attente indique au circuit 140 de commande de file d'attente si la tranche principale ou la tranche secondaire de file d'attente est disponible. Le circuit 140 de commande de file d'attente engendre des signaux 280 de commande de manière à acheminer l'entrée de file d'attente temporaire sur le bus 30 de file d'attente temporaire vers la tranche de file d'attente spécifiée par le signal 274 de choix d'opération de file d'attente.
Le circuit 142 de registre de file d'attente transfère l'information de tranche de file d'attente pour l'opération de file d'attente principale par l'intermédiaire d'un bus 232 de file d'attente principale. Le bus 232 de file d'attente principale comprend une adresse 240 de file d'attente principale, une donnée 242 de file d'attente principale, un déport 244 de file d'attente principale et une LR 246 de file d'attente principale. L'adresse 240 de file d'attente principale porte l'adresse d'utilisateur venant de la file d'attente d'adresse principale, la donnée 242 de file d'attente principale porte la donnée d'utilisateur venant de la file d'attente de donnée principale, le déport 244 de file d'attente principale porte le déport venant de la file d'attente de déport principale, et la LR 246 de file d'attente principale porte le bit LR venant de la file d'attente principale.
Le circuit 142 de registre de file d'attente transfère l'information de tranche de file d'attente pour l'opération de file d'attente secondaire par l'intermédiaire d'un bus 234 de file d'attente secondaire. Le bus 234 de file d'attente secondaire comprend une adresse secondaire 260, une donnée secondaire 262, un déport secondaire 264 et une LR secondaire 266. L'adresse 260 de file d'attente secondaire porte l'adresse d'utilisateur venant de la file d'attente d'adresse secondaire, la donnée 262 de file d'attente secondaire porte la donnée d'utilisateur venant de la file d'attente de donnée secondaire, le déport 264 de file d'attente secondaire porte le déport venant de la file d'attente de déport secondaire, et la LR 266 de file d'attente secondaire porte le bit LR venant de la file d'attente secondaire.
Les multiplexeurs 144 à 150 couplent sélectivement l'opération de file d'attente principale sur le bus 232 de file d'attente principale et l'opération de file d'attente secondaire sur le bus 234 de file d'attente secondaire vers le dispositif de commande du réseau flash 50 et le trajet de lecture/d'écriture 30.
Le multiplexeur 144 couple sélectivement l'adresse 240 de file d'attente principale et l'adresse 260 de file d'attente secondaire au bus 37 d'adresse de file d'attente selon le signal 274 de choix d'opération de file d'attente. Le multiplexeur 146 couple sélectivement la donnée 242 de file d'attente principale et l'adresse 262 de file d'attente secondaire au bus 38 de donnée de file d'attente selon le signal 274 de choix d'opération de file d'attente. Le multiplexeur 148 couple sélectivement le déport 244 de file d'attente principale et le déport 264 de file d'attente secondaire à un bus 160 de déport de file d'attente selon le signal 274 de choix d'opération de file d'attente. Le déport de file d'attente sur le bus 160 de file d'attente est transféré au dispositif de commande 50 de réseau flash.
Le multiplexeur 150 couple sélectivement la LR 246 de file d'attente principale et la LR 266 de file d'attente secondaire à un ensemble de signaux 162 de commande de ressources limitées. Les signaux 162 de commande de ressources limitées sont transférés au circuit 170 de tampon de pages par l'intermédiaire du bus 220 d'ordre. Les signaux 162 de commande de ressources limitées déterminent l'allocation du plan 0 et du plan 1 de ressources de tampons de pages dans le circuit 70 de tampon de pages.
La machine d'état d'ordres 210 engendre un signal 270 de FAC achevée. Le signal 270 de FAC achevée est transféré au dispositif de commande 50 de réseau flash par l'intermédiaire du bus 41 de commande de FAC. Le signal 270 de FAC achevée amène le dispositif de commande 50 de réseau flash à traiter une opération venant de la file d'attente d'opération principale ou secondaire.
La Figure 8 illustre la synchronisation d'une opération d'octet de programme vers le dispositif de mémoire flash 310 dans un mode à huit bits. Une broche de commande d'entrée du dispositif de mémoire flash 310 indique si le bus 104 de donnée est d'une largeur de huit bits ou d'une largeur de seize bits. La machine d'état d'ordres 210 détecte un état de la broche de commande d'entrée afin de déterminer si le dispositif de mémoire flash 310 est dans le mode à huit bits ou dans un mode à seize bits.
A l'instant 1, l'UCT 302 transfère le code d'ordre pour une opération d'octet de programme par l'intermédiaire du bus 104 de donnée d'utilisateur. A l'instant 2, 1'UCT 302 affirme le signal de validation d'écriture (WE) par l'intermédiaire du bus 106 de commande d'utilisateur. Le signal de validation d'écriture indique qu'un ordre d'utilisateur est en cours de transfert sur le bus 104 de donnée d'utilisateur. La machine d'état d'ordres 210 reçoit l'ordre d'utilisateur et transfère des signaux de commande au circuit 212 de file d'attente temporaire afin de verrouiller le code d'ordre d'utilisateur dans le registre d'ordre temporaire 126.
A l'instant t3, l'UCT 302 transfère une adresse pour l'opération d'octet de programme par l'intermédiaire du bus 102 d'adresse d'utilisateur. A l'instant t4, 1'UCT 302 transfère la donnée à huit bits pour l'opération d'octet de programme par l'intermédiaire du bus 104 de donnée d'utilisateur.
Ensuite, à l'instant t5, 1'UCT 302 affirme un signal de validation d'écriture par l'intermédiaire du bus 106 de commande d'utilisateur. La machine d'état d'ordres 210 détecte le signal de validation d'écriture à l'instant t5, et elle engendre des signaux de commande par l'intermédiaire du bus 220 d'ordre afin de verrouiller l'adresse dans le registre 122 d'adresse temporaire et la donnée à huit bits dans le registre 124 de donnée temporaire. Le registre 120 de file d'attente pleine engendre ensuite un signal 250 de file d'attente temporaire pleine et la machine d'état d'ordres 210 engendre le signal 270 de FAC achevée pour lancer le dispositif de commande 50 de réseau flash.
Si, soit la première tranche de file d'attente, soit la deuxième tranche de file d'attente du circuit 142 du registre de file d'attente est ensuite disponible, le circuit 140 de commande de file d'attente engendre les signaux 280 de commande de manière à acheminer l'entrée de file d'attente temporaire venant du circuit 212 de file d'attente temporaire vers le circuit 142 de registre de file d'attente. Le circuit 140 de commande de file d'attente engendre ensuite le signal 254 de restauration de file d'attente temporaire afin de restaurer le signal 250 de file d'attente temporaire pleine, et de valider un transfert d'un autre ordre d'utilisateur vers le circuit 212 de file d'attente temporaire. L'état de restauration du signal 250 de file d'attente temporaire pleine amène la machine d'état d'ordres 210 à restaurer les bits de file d'attente pleine dans les registres d'état de bloc du
BSR 216.
La Figure 9 illustre la synchronisation d'une opération de mot de programme vers le dispositif de mémoire flash 310 en mode à seize bits. A l'instant t10, 1'UCT 302 transfère le code d'ordre pour une opération de mot de programme par l'intermédiaire du bus 104 de donnée d'utilisateur. A l'instant 11, 1'UCT 302 affirme le signal de validation d'écriture (WE) par l'intermédiaire du bus 106 de commande d'utilisateur. La machine d'état d'ordres 210 reçoit l'ordre d'utilisateur et transfère des signaux de commande au circuit de file d'attente temporaire 212 afin de verrouiller le code d'ordre d'utilisateur dans le registre d'ordre temporaire 126.
A l'instant t12, l'UCT 302 transfère une adresse pour l'opération de mot de programme par l'intermédiaire du bus 102 d'adresse d'utilisateur. A l'instant t13, l'UCT 302 transfère la donnée à seize bits pour l'opération de mot de programme par l'intermédiaire du bus 104 de donnée d'utilisateur. A l'instant t14, l'UCT 302 affirme un signal de validation d'écriture par l'intermédiaire du bus 106 de commande d'utilisateur. La machine d'état d'ordres 210 détecte le signal de validation d'écriture et engendre des signaux de commande par l'intermédiaire du bus 220 d'ordre afin de verrouiller l'adresse dans le registre d'adresse temporaire 122 et la donnée à 16 bits dans le registre de donnée temporaire 124. Le registre de file d'attente pleine 120 engendre ensuite un signal 250 de file d'attente temporaire pleine et la machine d'état d'ordres 210 lance le dispositif de commande 50 de réseau flash.
Si, soit la première tranche de file d'attente, soit la deuxième tranche de file d'attente du circuit 142 du registre de file d'attente est ensuite disponible, le circuit 140 de commande de file d'attente engendre les signaux 280 de commande de manière à acheminer l'entrée de file d'attente temporaire venant du circuit 212 de file d'attente temporaire vers le circuit 142 de registre de file d'attente. Le circuit 140 de commande de file d'attente engendre ensuite le signal 254 de restauration de file d'attente temporaire afin de valider un transfert d'un autre ordre d'utilisateur vers le circuit 212 de file d'attente temporaire.
La Figure 10 illustre la synchronisation d'une opération de mot à 16 bits de programme vers le dispositif de mémoire flash 310 dans un mode à huit bits. A l'instant t20, l'UCT 302 transfère le code d'ordre pour une opération de mot de programme par l'intermédiaire du bus 104 de donnée d'utilisateur. A l'instant 21, 1'UCT 302 affirme le signal de validation d'écriture (WE) par l'intermédiaire du bus 106 de commande d'utilisateur. La machine d'etat d'ordres 210 reçoit l'ordre d'utilisateur et transfère des signaux de commande au circuit de file d'attente temporaire 212 afin de verrouiller le code d'ordre d'utilisateur dans le registre d'ordre temporaire 126.
A l'instant t22, l'UCT 302 transfère une adresse pour l'octet supérieur ou l'octet inférieur du mot de programme à 16 bits par l'intermédiaire du bus 102 d'adresse. Le bit d'adresse de poids faible AO de bus 102 d'adresse d'utilisateur détermine si c'est l'octet supérieur ou l'octet inférieur qui est adressé. A l'instant t23, l'UCT 302 transfère l'octet de donnée supérieur ou inférieur à huit bits pour le mot de programme à 16 bits par l'intermédiaire du bus 104 de donnée d'utilisateur. A l'instant t24 l'UCT 302 affirme le signal de validation d'écriture par l'intermédiaire du bus 106 de commande d'utilisateur.
La machine d'état d'ordres 210 détecte le signal de validation d'écriture et engendre des signaux de commande par l'intermédiaire du bus 220 d'ordre afin de verrouiller l'adresse dans le registre 122 d'adresse temporaire et l'octet supérieur ou inférieur de donnée à huit bits dans une partie supérieure ou inférieure du registre 124 de donnée temporaire selon le choix du bit d'adresse AO.
A l'instant t25, l'UCT 302 transfère une adresse complète pour le mot de programme à 16 bits par l'intermédiaire du bus 102 d'adresse d'utilisateur. A l'instant t26, l'UCT 302 transfère les 8 bits restants, supérieurs ou inférieurs, de l'octet de donnée pour le mot de programme de 16 bits par l'intermédiaire du bus 104 de donnée d'utilisateur. Le circuit 212 de file d'attente temporaire complète de façon interne le bit d'adresse AO reçu à l'instant 22 afin de choisir l'octet supérieur ou inférieur du registre 124 de donnée temporaire. A l'instant t27, l'UCT 302 affirme un signal de validation d'écriture par l'intermédiaire du bus 106 de commande d'utilisateur. La machine d'état d'ordres 210 détecte le signal de validation d'écriture et engendre des signaux de commande par l'intermédiaire du bus 220 d'ordre afin de verrouiller l'adresse dans le registre 122 d'adresse temporaire et l'octet de donnée supérieur ou inférieur de huit bits dans une partie supérieure ou inférieure du registre de donnée temporaire 124 selon le choix de bit d'adresse complété intérieurement AO. Le registre 120 de file d'attente pleine engendre ensuite le signal 250 de file d'attente temporaire pleine et la machine d'état d'ordres 210 lance le dispositif de commande 50 de réseau flash.
Si, soit la première tranche de file d'attente, soit la deuxième tranche de file d'attente du circuit 142 du registre de file d'attente est ensuite disponible, le circuit 140 de commande de file d'attente engendre les signaux 280 de commande de manière à acheminer l'entrée de file d'attente temporaire venant du circuit 212 de file d'attente temporaire vers le circuit 142 de registre de file d'attente. Le circuit 140 de commande de file d'attente engendre ensuite le signal 254 de restauration de file d'attente temporaire afin de valider un transfert d'un autre ordre d'utilisateur vers le circuit 212 de file d'attente temporaire.
Dans la spécification qui précède, l'invention a été décrite en se référant à des modes de réalisation spécifiques donnés à titre d'exemples. 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, qui sont exposés dans les revendications annexées. La spécification ainsi que les dessins doivent donc être considérés comme donnés à titre d'illustrations et non dans un sens restrictif.

Claims (49)

REVENDICATIONS
1. Dispositif de mémoire flash (310 à 314), caractérisé en ce qu il comprend:
un réseau de cellules flash (20) comprenant une série de cellules flash;
un circuit de dispositif de commande (50) de réseau flash afin d'exécuter, selon une opération de file d'attente reçue par un bus (232, 234) de file d'attente, des opérations de programmation et d'effacement sur le réseau de cellules flash (20);
un circuit d'interface (40) qui reçoit par l'intermédiaire d'un bus (106) de serveur un ordre d'utilisateur et un ensemble de paramètres d'ordres, et
le circuit d'interface (40) détermine un ensemble de bits de commande de ressources limitées pour l'ordre de l'utilisateur et met en file d'attente vers le circuit du dispositif de commande (50) de réseau flash, sur le bus (232, 234) de file d'attente, l'ordre d'utilisateur et les paramètres d'ordre et les bits de commande de ressources limitées.
2. Dispositif selon la revendication 1, caractérisé en ce que
les bits de commande de ressources limitées spécifient un plan de page (0, 1) dans un circuit de tampon de pages (70) qui inclut plusieurs plans de pages (0, 1).
3. Dispositif selon la revendication 1, caractérisé en ce que
l'opération de file d'attente comprend une opération de file d'attente principale et une opération de file d'attente secondaire, et
l'opération de file d'attente principale et l'opération de file d'attente secondaire comprennent chacune une adresse d'opération pour le réseau de cellules flash (20), une valeur de donnée d'opération pour charger le réseau de cellules flash (20), un déport d'opération qui spécifie un sous-programme du dispositif de commande (50) de réseau flash qui traite l'ordre d'utilisateur, et les bits de commande de ressources limitées.
4. Dispositif selon la revendication 3, caractérisé en ce que
le dispositif de commande (50) de réseau flash transfère au circuit d'interface (40) un signal (274) de choix d'opération de file d'attente de manière à choisir l'opération de file d'attente principale ou l'opération de file d'attente secondaire.
5. Dispositif selon la revendication 3, caractérisé en ce que
le circuit d'interface (40) engendre le déport d'opération en implantant l'ordre d'utilisateur dans un vecteur de saut qui spécifie le sous-programme du dispositif de commande (50) de réseau flash qui traite l'ordre d'utilisateur.
6. Dispositif selon la revendication 5, caractérisé en ce que
le sous-programme de traitement de l'ordre d'utilisateur traite une série de classes d'ordres d'utilisateur, et
les classes d'ordres d'utilisateur comprennent un programme à deux cycles avec opération de tampon de pages, un programme à deux cycles sans opérations de tampon de pages, un programme à trois cycles avec opération de tampon de pages, et un programme à trois cycles sans opération de tampon de pages.
7. Dispositif selon la revendication 6, caractérisé en que
les bits de commande de ressources limitées spécifient un plan de page (0, 1) d'un circuit de tampon de pages (70) si l'ordre d'utilisateur est le programme à deux cycles avec opération de tampon de pages ou le programme à trois cycles avec opération de tampon de pages, et
le plan de page (0, 1) forme tampon pour un bloc de données d'écriture reçu par l'intermédiaire du bus (106) de serveur.
8. Dispositif selon la revendication 6, caractérisé en que
l'ordre d'utilisateur est le programme à deux cycles avec opération de tampon de pages ou le programme à deux cycles sans opération de tampon de pages si une partie de donnée du bus (106) de serveur est d'une première largeur de bits.
9. Dispositif selon la revendication 8, caractérisé en ce que
l'ordre d'utilisateur est le programme à trois cycles avec opération de tampon de pages ou le programme à trois cycles sans opération de tampon de pages si la partie de donnée du bus (106) de serveur est d'une deuxième largeur de bit.
10. Dispositif de mémoire selon la revendication 4, caractérisé en ce que le circuit d'interface (40) comprend:
un circuit de file d'attente temporaire couplé au bus (106) de serveur, circuit de file d'attente temporaire qui mémorise l'adresse d'opération, la valeur de donnée d'opération, l'ordre d'utilisateur et les bits de commande de ressources limitées selon un ensemble de signaux de commande de file d'attente temporaire, le circuit de file d'attente temporaire engendrant le déport d'opération en implantant l'ordre d'utilisateur dans le vecteur de saut;
une machine d'état d'ordres (210) qui reçoit l'ordre d'utilisateur par l'intermédiaire du bus (106) de serveur et engendre les bits de commande de ressources limitées, la machine d'état d'ordres (210) engendrant les signaux de commande de file d'attente temporaire selon l'ordre d'utilisateur et selon une largeur d'une partie de donnée du bus (106) de serveur;
un circuit de file d'attente d'opération qui reçoit une entrée de file d'attente temporaire comprenant l'adresse d'opération, la donnée de valeur d'opération, le déport d'opération, et les bits de commande de ressources limitées à partir du circuit de file d'attente temporaire, le circuit de file d'attente d'opération mémorisant l'entrée temporaire de file d'attente dans une tranche disponible de file d'attente parmi une série de tranches de files d'attente, le circuit de file d'attente d'opération recevant le signal (274) de choix d'opération de file d'attente de manière à choisir l'une des tranches de file d'attente pour l'accès par le dispositif de commande (50) de réseau flash.
11. Procédé de traitement d'un ordre d'utilisateur dans un dispositif de mémoire flash (310 à 314), caractérisé en ce qu'il comprend les étapes consistant à:
recevoir par l'intermédiaire d'un bus (106) de serveur l'ordre d'utilisateur et un ensemble de paramètres d'ordre;
déterminer un ensemble de bits de commande de ressources limitées pour l'ordre d'utilisateur;
mettre en file d'attente vers un circuit de dispositif de commande (50) de réseau flash, par l'intermédiaire d'un bus (232, 234) de file d'attente, l'ordre d'utilisateur et les paramètres d'ordre et les bits de commande de ressources limitées, le circuit de dispositif de commande (50) de réseau flash effectuant selon l'ordre d'utilisateur et les paramètres d'ordre une opération de programmation ou d'effacement sur un réseau de cellules flash (20).
12. Procédé selon la revendication 11, caractérisé en ce que
les bits de commande de ressources limitées spécifient un plan de page (0, 1) dans un circuit de tampon de pages (70) comprenant une série de plans de pages (0, 1).
13. Procédé selon la revendication 11, caractérisé en ce que l'étape de mise en file d'attente de l'ordre d'utilisateur comprend les étapes consistant à:
mémoriser l'ordre d'utilisateur et les paramètres d'ordre et les bits de commande de ressources limitées dans une tranche disponible de file d'attente parmi une série de tranches de file d'attente, chaque tranche de file d'attente comprenant une opération de file d'attente;
recevoir du dispositif de commande (50) de réseau flash un signal (274) de choix d'opération de file d'attente, signal (274) de choix d'opération de file d'attente qui spécifie l'une des tranches de file d'attente;
transférer vers le circuit du dispositif de commande (50) de réseau flash, par l'intermédiaire du bus (232, 234) de file d'attente, l'opération de la file d'attente de la tranche de file d'attente selon le signal (274) de choix d'opération de file d'attente.
14. Procédé selon la revendication 13, caractérisé en ce que
les tranches de file d'attente comprennent une tranche de file d'attente primaire et une tranche de file d'attente secondaire, et
la tranche de file d'attente primaire et la tranche de file d'attente secondaire comprennent une adresse d'opération pour le réseau de cellules flash (20), une valeur de donnée d'opération pour charger le réseau de cellules flash (20), un déport d'opération spécifiant un sous-programme du dispositif de commande (50) de réseau flash qui traite l'ordre d'utilisateur et les bits de commande de ressources limitées.
15. Procédé selon la revendication 14, caractérisé en ce que
l'étape de mémorisation de l'ordre d'utilisateur et des paramètres d'ordre et des bits de commande de ressources limitées dans une tranche de file d'attente disponible comprend en outre l'étape consistant à:
engendrer le déport d'opération en implantant l'ordre d'utilisateur dans un vecteur de saut qui spécifie le sous-programme du dispositif de commande (50) de réseau flash qui traite l'ordre d'utilisateur.
16. Procédé selon la revendication 15, caractérisé en ce que
le sous-programme de dispositif de commande (50) de réseau flash qui traite l'ordre d'utilisateur traite une série de classes d'ordre d'utilisateur, et
les classes d'ordres d'utilisateur comprennent un programme à deux cycles avec opération de tampon de pages, un programme à deux cycles sans opérations de tampon de pages, un programme à trois cycles avec opération de tampon de pages, et un programme à trois cycles sans opération de tampon de pages.
17. Procédé selon la revendication 15, caractérisé en que
les bits de commande de ressources limitées spécifient un plan de page (0, 1) d'un circuit de tampon de pages (70) si l'ordre d'utilisateur est le programme à deux cycles avec opération de tampon de pages ou le programme à trois cycles avec opération de tampon de pages, et
le plan de page (0, 1) forme tampon pour un bloc de données d'écriture reçu par l'intermédiaire du bus (106) de serveur.
18. Procédé selon la revendication 15, caractérisé en que
l'ordre d'utilisateur est le programme à deux cycles avec opération de tampon de pages ou le programme à deux cycles sans opération de tampon de pages si une partie de donnée du bus (106) de serveur est d'une première largeur de bits.
19. Procédé selon la revendication 18, caractérisé en ce que
l'ordre d'utilisateur est le programme à trois cycles avec opération de tampon de pages ou le programme à trois cycles sans opération de tampon de pages si la partie de donnée du bus (106) de serveur est d'une deuxième largeur de bit.
20. Circuit de traitement d'un ordre d'utilisateur dans un dispositif de mémoire flash (310 à 314), caractérisé en ce qu'il comprend:
un circuit destiné à recevoir par l'intermédiaire d'un bus (106) de serveur, l'ordre d'utilisateur et un ensemble de paramètres d'ordre;
un circuit de détermination d'un ensemble de bits de commande de ressources limitées pour l'ordre d'utilisateur;
un circuit qui sert à mettre en file d'attente vers un circuit de dispositif de commande (50) de réseau flash, par l'intermédiaire d'un bus (232, 234) de file d'attente, l'ordre d'utilisateur et les paramètres d'ordre et les bits de commande de ressources limitées, le circuit de dispositif de commande (50) de réseau flash effectuant une opération de programmation ou d'effacement sur un réseau de cellules flash (20) selon l'ordre d'utilisateur et les paramètres d'utilisateur.
21. Circuit selon la revendication 20, caractérisé en ce que
les bits de commande de ressources limitées spécifient un plan de page (0, 1) dans un circuit de tampon de pages (70) qui inclut plusieurs plans de pages (0, 1).
22. Circuit selon la revendication 20, caractérisé en ce que le circuit de mise en file d'attente de l'ordre d'utilisateur comprend:
un circuit de mémorisation de l'ordre d'utilisateur et des paramètres d'ordre et des bits de commande de ressources limitées dans une tranche disponible de file d'attente parmi une série de tranches de file d'attente, chaque tranche de file d'attente comprenant une opération de file d'attente;
un circuit de réception d'un signal (274) de choix d'opération de file d'attente venant du dispositif de commande (50) de réseau flash, signal (274) de choix d'opération de file d'attente qui spécifie l'une des tranches de file d'attente;
un circuit de transfert de l'opération de file d'attente depuis la tranche de file d'attente vers le circuit du dispositif de commande (50) de réseau flash, par l'intermédiaire du bus (232, 234) de file d'attente, selon le signal (274) de choix d'opération de file d'attente.
23. Circuit selon la revendication 20, caractérisé en ce que
les tranches de file d'attente comprennent une tranche de file d'attente principale et une tranche de file d'attente secondaire, et
la tranche de file d'attente principale et la tranche de file d'attente secondaire comprennent chacune une adresse d'opération pour le réseau de cellules flash (20), une valeur de donnée d'opération pour charger le réseau de cellules flash (20), un déport d'opération qui spécifie un sous-programme du dispositif de commande (50) de réseau flash qui traite l'ordre d'utilisateur, et les bits de commande de ressources limitées.
24. Circuit selon la revendication 23, caractérisé en ce que
le circuit de mémorisation de l'ordre d'utilisateur et des paramètres d'ordre et des bits de commande de ressources limitées dans une tranche disponible de file d'attente comprend en outre
un circuit servant à engendrer le déport d'opération en implantant l'ordre d'utilisateur dans un vecteur de saut qui spécifie le sous-programme du dispositif de programme de commande (50) de réseau flash qui traite l'ordre d'utilisateur.
25. Circuit selon la revendication 24, caractérisé en ce que
le sous-programme de traitement de l'ordre d'utilisateur traite une série de classes d'ordres d'utilisateur, et
les classes d'ordres d'utilisateur comprennent un programme à deux cycles avec opération de tampon de pages, un programme à deux cycles sans opérations de tampon de pages, un programme à trois cycles avec opération de tampon de pages, et un programme à trois cycles sans opération de tampon de pages.
26. Circuit selon la revendication 25, caractérisé en que
les bits de commande de ressources limitées spécifient un plan de page (0, 1) d'un circuit de tampon de pages (70) si l'ordre d'utilisateur est le programme à deux cycles avec opération de tampon de pages ou le programme à trois cycles avec opération de tampon de pages, et
le plan de page (0, 1) forme tampon pour un bloc de données d'écriture reçu par l'intermédiaire du bus (106) de serveur.
27. Circuit selon la revendication 25, caractérisé en que
l'ordre d'utilisateur est le programme à deux cycles avec opération de tampon de pages ou le programme à deux cycles sans opération de tampon de pages si une partie de donnée du bus (106) de serveur est d'une première largeur de bits.
28. Circuit selon la revendication 27, caractérisé en ce que
l'ordre d'utilisateur est le programme à trois cycles avec opération de tampon de pages ou le programme à trois cycles sans opération de tampon de pages si la partie de donnée du bus (106) de serveur est d'une deuxième largeur de bit.
29. Système (300) d'ordinateur, caractérisé en ce qu'il comprend:
un moyen de mémoire principale qui mémorise au moins un bloc de donnée d'écriture pour une opération de programme;
un moyen central de traitement qui transfère un ordre d'utilisateur par l'intermédiaire d'un bus (106) de serveur;
un dispositif de mémoire flash (310 à 314) qui reçoit l'ordre d'utilisateur par l'intermédiaire du bus (106) de serveur, alloue un ensemble de ressources limitées à l'ordre d'utilisateur et maintient l'ordre d'utilisateur dans une file d'attente d'ordre, puis exécute un ordre d'utilisateur en effectuant sur un réseau de cellules flash (20) l'opération de programme ou une opération d'effacement.
30. Système (300) selon la revendication 29, caractérisé en ce que le dispositif de mémoire flash (310 à 314) comprend:
un circuit de dispositif de commande (50) de réseau flash qui sert à effectuer l'opération de programme ou l'opération d'effacement sur le réseau de cellules flash (20) selon une opération de file d'attente reçue par l'intermédiaire d'un bus (232, 234) de file d'attente;
un circuit d'interface (40) qui reçoit l'ordre d'utilisateur et un ensemble de paramètres d'ordre par l'intermédiaire du bus (106) de serveur, circuit d'interface (40) qui détermine les bits de commande de ressources limitées pour l'ordre d'utilisateur et met en file d'attente vers le circuit du dispositif de commande (50) de réseau flash, par l'intermédiaire du bus (232, 234) de file d'attente, l'ordre d'utilisateur et les paramètres de commande et les bits de commande de ressources limitées.
31. Système (300) selon la revendication 30, caractérisé en ce que
les bits de commande de ressources limitées spécifient un plan de page (0, 1) dans un circuit de tampon de pages (70) d'un dispositif de mémoire flash (310 à 314) qui inclut plusieurs plans de pages (0, 1).
32. Système (300) selon la revendication 30, caractérisé en ce que
l'opération de file d'attente comprend une opération de file d'attente principale et une opération de file d'attente secondaire, et
l'opération de file d'attente principale et l'opération de file d'attente secondaire comprennent chacune une adresse d'opération pour le réseau de cellules flash (20), une valeur de donnée d'opération pour charger le réseau de cellules flash (20), un déport d'opération qui spécifie un sous-programme du dispositif de commande (50) de réseau flash qui traite l'ordre d'utilisateur, et les bits de commande de ressources limitées.
33. Système (300) selon la revendication 32, caractérisé en ce que
le dispositif de commande (50) de réseau flash transfère au circuit d'interface (40) un signal (274) de choix d'opération de file d'attente de manière à choisir l'opération de file d'attente principale ou l'opération de file d'attente secondaire.
34. Dispositif selon la revendication 32, caractérisé en ce que
le circuit d'interface (40) engendre le déport d'opération en implantant l'ordre d'utilisateur dans un vecteur de saut qui spécifie le sous-programme du dispositif de commande (50) de réseau flash qui traite l'ordre d'utilisateur.
35. Dispositif selon la revendication 34, caractérisé en ce que
le sous-programme de traitement de l'ordre d'utilisateur traite une série de classes d'ordres d'utilisateur, et
les classes d'ordres d'utilisateur comprennent un programme à deux cycles avec opération de tampon de pages, un programme à deux cycles sans opérations de tampon de pages, un programme à trois cycles avec opération de tampon de pages, et un programme à trois cycles sans opération de tampon de pages.
36. Dispositif selon la revendication 35, caractérisé en que
les bits de commande de ressources limitées spécifient un plan de page (0, 1) d'un circuit de tampon de pages (70) si l'ordre d'utilisateur est le programme à deux cycles avec opération de tampon de pages ou le programme à trois cycles avec opération de tampon de pages, et
le plan de page (0, 1) forme tampon pour un bloc de données d'écriture reçu par l'intermédiaire du bus (106) de serveur sous commande d'un moyen central de traitement.
37. Système (300) selon la revendication 35, caractérisé en que
l'ordre d'utilisateur est le programme à deux cycles avec opération de tampon de pages ou le programme à deux cycles sans opération de tampon de pages si une partie de donnée du bus (106) de serveur est d'une première largeur de bits.
38. Dispositif selon la revendication 37, caractérisé en ce que
l'ordre d'utilisateur est le programme à trois cycles avec opération de tampon de pages ou le programme à trois cycles sans opération de tampon de pages si la partie de donnée du bus (106) de serveur est d'une deuxième largeur de bit.
39. Système (300) selon la revendication 33, caractérisé en ce que le circuit d'interface (40) comprend:
un circuit de file d'attente temporaire couplé au bus (106) de serveur, circuit de file d'attente temporaire qui mémorise l'adresse d'opération, la valeur de donnée d'opération, l'ordre d'utilisateur et les bits de commande de ressources limitées selon un ensemble de signaux de commande de file d'attente temporaire, le circuit de file d'attente temporaire engendrant le déport d'opération en implantant l'ordre d'utilisateur dans le vecteur de saut;
une machine d'état d'ordres (210) qui reçoit l'ordre d'utilisateur par l'intermédiaire du bus (106) de serveur et engendre les bits de commande de ressources limitées, la machine d'état d'ordres (210) engendrant les signaux de commande de file d'attente temporaire selon la classe d'ordre d'utilisateur;
un circuit de file d'attente d'opération qui reçoit une entrée de file d'attente temporaire comprenant l'adresse d'opération, la donnée de valeur d'opération, le déport d'opération, et les bits de commande de ressources limitées à partir du circuit de file d'attente temporaire, le circuit de file d'attente d'opération mémorisant l'entrée temporaire de file d'attente dans une tranche disponible de file d'attente parmi une série de tranches de files d'attente, le circuit de file d'attente d'opération recevant le signal (274) de choix d'opération de file d'attente de manière à choisir l'une des tranches de file d'attente pour l'accès par le dispositif de commande (50) de réseau flash.
40. Système (300) d'ordinateur, caractérisé en ce qu'il comprend:
un moyen de mémoire principale qui mémorise au moins un bloc de donnée d'écriture pour une opération de programme;
un moyen central de traitement qui transfère un ordre d'utilisateur par l'intermédiaire d'un bus (106) de serveur;
un circuit qui reçoit l'ordre d'utilisateur par l'intermédiaire du bus (106) de serveur, alloue un ensemble de ressources limitées à l'ordre d'utilisateur et maintient l'ordre d'utilisateur dans une file d'attente d'ordre, puis exécute un ordre d'utilisateur en effectuant sur un réseau de cellules flash (20) l'opération de programme ou une opération d'effacement.
41. Système (300) selon la revendication 40, caractérisé en ce que
le circuit qui reçoit l'ordre d'utilisateur par l'intermédiaire du bus (106) de serveur, alloue un ensemble de ressources limitées à l'ordre d'utilisateur et maintient l'ordre d'utilisateur dans une file d'attente d'ordre, puis exécute l'ordre d'utilisateur en effectuant sur un réseau de cellules flash (20) l'opération de programme ou une opération d'effacement comprend:
un circuit destiné à recevoir par l'intermédiaire d'un bus (106) de serveur, l'ordre d'utilisateur et un ensemble de paramètres d'ordre;
un circuit de détermination d'un ensemble de bits de commande de ressources limitées pour l'ordre d'utilisateur;
un circuit qui sert à mettre en file d'attente vers un circuit de dispositif de commande (50) de réseau flash, par l'intermédiaire d'un bus (232, 234) de file d'attente, l'ordre d'utilisateur et les paramètres d'ordre et les bits de commande de ressources limitées, le circuit de dispositif de commande (50) de réseau flash effectuant l'opération de programmation ou l'opération d'effacement sur un réseau de cellules flash (20) selon l'ordre d'utilisateur et les paramètres d'utilisateur.
42. Système (300) selon la revendication 41, caractérisé en ce que
les bits de commande de ressources limitées spécifient un plan de page (0, 1) dans un circuit de tampon de pages (70) qui inclut plusieurs plans de pages (0, 1).
43. Système (300) selon la revendication 41, caractérisé en ce que le circuit de mise en file d'attente de l'ordre d'utilisateur comprend:
un circuit de mémorisation de l'ordre d'utilisateur et des paramètres d'ordre et des bits de commande de ressources limitées dans une tranche disponible de file d'attente parmi une série de tranches de file d'attente, chaque tranche de file d'attente comprenant une opération de file d'attente;
un circuit de réception d'un signal (274) de choix d'opération de file d'attente venant du dispositif de commande (50) de réseau flash, signal (274) de choix d'opération de file d'attente qui spécifie l'une des tranches de file d'attente;
un circuit de transfert de l'opération de file d'attente depuis la tranche de file d'attente vers le circuit du dispositif de commande (50) de réseau flash, par l'intermédiaire du bus (232, 234) de file d'attente, selon le signal (274) de choix d'opération de file d'attente.
44. Système (300) selon la revendication 41, caractérisé en ce que
les tranches de file d'attente comprennent une tranche de file d'attente principale et une tranche de file d'attente secondaire, et
la tranche de file d'attente principale et la tranche de file d'attente secondaire comprennent chacune une adresse d'opération pour le réseau de cellules flash (20), une valeur de donnée d'opération pour charger le réseau de cellules flash (20), un déport d'opération qui spécifie un sous-programme du dispositif de commande (50) de réseau flash qui traite l'ordre d'utilisateur, et les bits de commande de ressources limitées.
45. Système (300) selon la revendication 44, caractérisé en ce que
le circuit de mémorisation de l'ordre d'utilisateur et des paramètres d'ordre et des bits de commande de ressources limitées dans une tranche disponible de file d'attente comprend en outre
un circuit servant à engendrer le déport d'opération en implantant l'ordre d'utilisateur dans un vecteur de saut qui spécifie le sous-programme du dispositif de programme de commande (50) de réseau flash qui traite l'ordre d'utilisateur.
46. Circuit selon la revendication 45, caractérisé en ce que
le sous-programme du dispositif de commande (50)de réseau flash qui traite l'ordre d'utilisateur traite une série de classes d'ordres d'utilisateur, et
les classes d'ordres d'utilisateur comprennent un programme à deux cycles avec opération de tampon de pages, un programme à deux cycles sans opérations de tampon de pages, un programme à trois cycles avec opération de tampon de pages, et un programme à trois cycles sans opération de tampon de pages.
47. Circuit selon la revendication 46, caractérisé en que
les bits de commande de ressources limitées spécifient un plan de page (0, 1) d'un circuit de tampon de pages (70) si l'ordre d'utilisateur est le programme à deux cycles avec opération de tampon de pages ou le programme à trois cycles avec opération de tampon de pages, et
le plan de page (0, 1) forme tampon pour un bloc de données d'écriture reçu par l'intermédiaire du bus (106) de serveur.
48. Système (300) selon la revendication 46, caractérisé en que
l'ordre d'utilisateur est le programme à deux cycles avec opération de tampon de pages ou le programme à deux cycles sans opération de tampon de pages si une partie de donnée du bus (106) de serveur est d'une première largeur de bits.
49. Système (300) selon la revendication 48, caractérisé en ce que
l'ordre d'utilisateur est le programme à trois cycles avec opération de tampon de pages ou le programme à trois cycles sans opération de tampon de pages si la partie de donnée du bus (106) de serveur est d'une deuxième largeur de bit.
FR9407936A 1993-06-30 1994-06-28 Dispositif de mémoire flash, procédé et circuit de traitement d'un ordre d'utilisateur dans un dispositif de mémoire flash et système d'ordinateur comprenant un dispositif de mémoire flash. Expired - Fee Related FR2708763B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US8558793A 1993-06-30 1993-06-30

Publications (2)

Publication Number Publication Date
FR2708763A1 true FR2708763A1 (fr) 1995-02-10
FR2708763B1 FR2708763B1 (fr) 2002-04-05

Family

ID=22192627

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9407936A Expired - Fee Related FR2708763B1 (fr) 1993-06-30 1994-06-28 Dispositif de mémoire flash, procédé et circuit de traitement d'un ordre d'utilisateur dans un dispositif de mémoire flash et système d'ordinateur comprenant un dispositif de mémoire flash.

Country Status (2)

Country Link
US (1) US5692138A (fr)
FR (1) FR2708763B1 (fr)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69724318T2 (de) * 1996-04-02 2004-05-27 STMicroelectronics, Inc., Carrollton Prüfung und Reparatur einer eingebetteten Speicherschaltung
US6275911B1 (en) * 1996-09-20 2001-08-14 Denso Corporation Memory writing device for an electronic device
US5973967A (en) * 1997-01-03 1999-10-26 Programmable Microelectronics Corporation Page buffer having negative voltage level shifter
JP4111472B2 (ja) * 1998-05-15 2008-07-02 キヤノン株式会社 通信制御方法及び装置及び通信システム
US6640300B1 (en) * 1999-09-27 2003-10-28 Cypress Semiconductor Corp. Method and apparatus for width and depth expansion in a multi-queue system
US6640267B1 (en) * 1999-09-27 2003-10-28 Cypress Semiconductor Corp. Architecture for multi-queue storage element
KR20020029760A (ko) * 2000-06-27 2002-04-19 롤페스 요하네스 게라투스 알베르투스 집적 회로 시스템
US6834323B2 (en) 2000-12-26 2004-12-21 Intel Corporation Method and apparatus including special programming mode circuitry which disables internal program verification operations by a memory
US6732306B2 (en) 2000-12-26 2004-05-04 Intel Corporation Special programming mode with hashing
US7007131B2 (en) * 2000-12-27 2006-02-28 Intel Corporation Method and apparatus including special programming mode circuitry which disables internal program verification operations by a memory
US7042770B2 (en) * 2001-07-23 2006-05-09 Samsung Electronics Co., Ltd. Memory devices with page buffer having dual registers and method of using the same
US6961796B2 (en) * 2001-07-26 2005-11-01 Hewlett-Packard Development Company, L.P. Extendable bus interface
JP2004348790A (ja) * 2003-05-20 2004-12-09 Sharp Corp 半導体記憶装置及び携帯電子機器
JP2004348817A (ja) * 2003-05-20 2004-12-09 Sharp Corp 半導体記憶装置、そのページバッファリソース割当方法及び回路、コンピュータシステム並びに携帯電子機器
ITRM20030354A1 (it) 2003-07-17 2005-01-18 Micron Technology Inc Unita' di controllo per dispositivo di memoria.
TW200743957A (en) * 2006-05-16 2007-12-01 Ite Tech Inc Control device and control method for memory
US8213229B2 (en) * 2008-08-22 2012-07-03 HGST Netherlands, B.V. Error control in a flash memory device
KR20110013868A (ko) * 2009-08-04 2011-02-10 삼성전자주식회사 멀티 코멘드 셋 동작 및 우선처리 동작 기능을 갖는 멀티 프로세서 시스템
US8645618B2 (en) * 2011-07-14 2014-02-04 Lsi Corporation Flexible flash commands
US8806112B2 (en) 2011-07-14 2014-08-12 Lsi Corporation Meta data handling within a flash media controller
US10310923B1 (en) 2014-08-28 2019-06-04 Seagate Technology Llc Probabilistic aging command sorting
US9921763B1 (en) 2015-06-25 2018-03-20 Crossbar, Inc. Multi-bank non-volatile memory apparatus with high-speed bus
US10141034B1 (en) 2015-06-25 2018-11-27 Crossbar, Inc. Memory apparatus with non-volatile two-terminal memory and expanded, high-speed bus
US10222989B1 (en) * 2015-06-25 2019-03-05 Crossbar, Inc. Multiple-bank memory device with status feedback for subsets of memory banks
US10095617B2 (en) * 2015-09-22 2018-10-09 Macronix International Co., Ltd. Memory device with flexible data transfer rate interface and method thereof
US10831403B2 (en) 2017-05-19 2020-11-10 Seagate Technology Llc Probabalistic command aging and selection

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4905184A (en) * 1987-09-21 1990-02-27 Unisys Corporation Address control system for segmented buffer memory
US5053990A (en) * 1988-02-17 1991-10-01 Intel Corporation Program/erase selection for flash memory
US5222046A (en) * 1988-02-17 1993-06-22 Intel Corporation Processor controlled command port architecture for flash memory

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4680701A (en) * 1984-04-11 1987-07-14 Texas Instruments Incorporated Asynchronous high speed processor having high speed memories with domino circuits contained therein
JPH0688427B2 (ja) * 1987-04-15 1994-11-09 キヤノン株式会社 出力装置
US4992958A (en) * 1988-06-27 1991-02-12 Hitachi, Ltd. Method and apparatus for controlling printer
EP0675502B1 (fr) * 1989-04-13 2005-05-25 SanDisk Corporation Système EEPROM avec effacement en bloc contenant des puces multiples
US5065364A (en) * 1989-09-15 1991-11-12 Intel Corporation Apparatus for providing block erasing in a flash EPROM
US5159672A (en) * 1989-12-28 1992-10-27 Intel Corporation Burst EPROM architecture
US5177745A (en) * 1990-09-26 1993-01-05 Intel Corporation Memory device with a test mode
US5233559A (en) * 1991-02-11 1993-08-03 Intel Corporation Row redundancy for flash memories
US5249158A (en) * 1991-02-11 1993-09-28 Intel Corporation Flash memory blocking architecture
US5265059A (en) * 1991-05-10 1993-11-23 Intel Corporation Circuitry and method for discharging a drain of a cell of a non-volatile semiconductor memory
US5245572A (en) * 1991-07-30 1993-09-14 Intel Corporation Floating gate nonvolatile memory with reading while writing capability
US5224070A (en) * 1991-12-11 1993-06-29 Intel Corporation Apparatus for determining the conditions of programming circuitry used with flash EEPROM memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4905184A (en) * 1987-09-21 1990-02-27 Unisys Corporation Address control system for segmented buffer memory
US5053990A (en) * 1988-02-17 1991-10-01 Intel Corporation Program/erase selection for flash memory
US5222046A (en) * 1988-02-17 1993-06-22 Intel Corporation Processor controlled command port architecture for flash memory

Also Published As

Publication number Publication date
FR2708763B1 (fr) 2002-04-05
US5692138A (en) 1997-11-25

Similar Documents

Publication Publication Date Title
FR2708763A1 (fr) Dispositif de mémoire flash, procédé et circuit de traitement d'un ordre d'utilisateur dans un dispositif de mémoire flash et système d'ordinateur comprenant un dispositif de mémoire flash.
JP3737528B2 (ja) フラッシュ・メモリ・デバイス、それのページ・バッファー資源の割り当てをする方法および回路
JP5118130B2 (ja) シリアルで相互接続されたデバイス用にデバイス識別子を確立するための装置および方法
WO2017005010A1 (fr) Procédé et dispositif de traitement audio et support d'informations informatique
US8726004B2 (en) Switching drivers between processors
JP2004095029A (ja) 不揮発性メモリおよびその書き込み処理方法
US10802750B2 (en) Universal flash storage memory module, controller and electronic device with advanced turbo write buffer and method for operating the memory module
FR2672709A1 (fr) Machine d'etat d'ordre.
JP3875139B2 (ja) 不揮発性半導体記憶装置、そのデータ書き込み制御方法およびプログラム
JPH026765A (ja) 自動回路テスタ制御システム
CN113190241B (zh) 数据分区的容量扩充方法、装置、电子设备、存储介质
FR2759178A1 (fr) Circuit de gestion de memoire dans un environnement multi-utilisateurs avec requete et priorite d'acces
CN106980513A (zh) 一种双引导文件的切换方法及装置
JP4910426B2 (ja) 不揮発性記憶装置の書込み方法
EP0543607A2 (fr) Système de traitement d'images
JP2584119B2 (ja) メモリカードにおけるデータ記録方法およびメモリカードシステム
EP0073081A1 (fr) Système de traitement des données avec un dispositif de commande pour commander une mémoire intermédiaire pendant un transport de données en quantité entre un dispositif source et un dispositif de destination
JP3820682B2 (ja) メモリ制御装置、データ書き込み読み出し方法、及び撮像装置
JP2907421B2 (ja) 半導体メモリ試験装置
JP2961781B2 (ja) データ処理装置
JPH079280Y2 (ja) スタック回路
JP2761559B2 (ja) 半導体メモリ試験用データ発生装置
JPS6033628A (ja) 可変キュ−メモリ
EP1050818A1 (fr) Accès en mémoire d'ordinateur
JPS6139165A (ja) 光学文字読取り装置

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20090228