FR2858101A1 - Systeme de memoire flash - Google Patents
Systeme de memoire flash Download PDFInfo
- Publication number
- FR2858101A1 FR2858101A1 FR0408024A FR0408024A FR2858101A1 FR 2858101 A1 FR2858101 A1 FR 2858101A1 FR 0408024 A FR0408024 A FR 0408024A FR 0408024 A FR0408024 A FR 0408024A FR 2858101 A1 FR2858101 A1 FR 2858101A1
- Authority
- FR
- France
- Prior art keywords
- data
- flash memory
- page buffer
- groups
- parity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1087—Data input latches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/1032—Simple parity
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2245—Memory devices with an internal cache buffer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
On propose un système de mémoire flash et un procédé d'écriture de données qui lui est destiné, le procédé consistant à (a) transmettre une commande prédéterminée et un signal d'adresse à un dispositif de mémoire flash (122) contenu dans le système de mémoire flash (100), (b) transmettre des données au dispositif de mémoire flash (122), et (c) générer un code de parité pour les données et transmettre le code de parité au dispositif de mémoire flash (122), les étapes (b) et (c) étant répétées deux fois ou plus ; et dans lequel les données et les codes de parité correspondants sont écrits dans un tampon de page (124) du dispositif de mémoire flash (122) indépendamment d'un champ de données et d'un champ de réserve.
Description
i
La présente invention concerne un système de mémoire flash et plus précisément, un procédé d'écriture et de lecture de données et de codes de parité dans un système de 10 mémoire flash.
En général, un dispositif de mémoire flash est un type de mémoire morte effaçable et programmable électriquement ("EEPROM") qui ne nécessite pas de régénération.
Le dispositif de mémoire flash peut être classé comme étant de type NON-OU ou de type NON-ET. Bien qu'un dispositif de mémoire flash de type NON-OU accepte une petite quantité de données à grande vitesse, un dispositif de mémoire flash de type NON-ET accepte une grande quantité 20 de données.
La programmation et l'effacement d'une mémoire flash de type NON-ET normale fait intervenir la commande de la tension de seuil d'une cellule mémoire par injection et émission d'électrons dans et à partir d'une grille 25 flottante.
Cette mémoire flash de type NON-ET comprend un registre, qui est généralement appelé "tampon de page", permettant d'écrire une grande quantité de données en peu de temps.
Des données qui ont été fournies en entrée de l'extérieur sont écrites dans une matrice de cellules mémoire par l'intermédiaire du tampon de page, et les données qui ont été lues depuis la matrice de cellules mémoire sont fournies en sortie vers l'extérieur par 35 l'intermédiaire du tampon de page. Par conséquent, les données sont généralement écrites et lues vers et en provenance de la mémoire flash par unités dont la taille est égale à celle du tampon de page.
Par ailleurs, dans un système comportant un dispositif de mémoire flash du type NON-ET, les données 5 sont écrites en association avec un code de parité pour les données afin de vérifier et/ou de corriger les erreurs sur les données.
Une unité de commande génère un code de parité pour une certaine quantité de données et écrit les données en 10 association avec le code de parité dans le dispositif de mémoire flash. Après cela, l'unité de commande lit le code de parité depuis le dispositif de mémoire flash et vérifie si oui ou non les données contiennent des erreurs.
Du fait de la récente augmentation de la taille du 15 tampon de page des mémoires flash, l'unité de traitement des codes de parité a également augmenté en taille.
Normalement, un code de parité est généré pour des données dont la taille est égale à la taille du tampon de page.
Plus précisément, l'unité de traitement de code de 20 parité correspond à des données dont la taille est égale à la taille du tampon de page. Par conséquent, du fait de l'augmentation de la taille du tampon de page, les circuits destinés à générer des codes de parité deviennent plus complexes, ou bien le temps de traitement global augmente. 25 La présente invention fournit un système de mémoire flash qui augmente l'efficacité de l'écriture et de la lecture de données et de codes de parité dans et depuis un dispositif de mémoire flash pour réduire le temps global de traitement des données, et un procédé d'écriture de données 30 qui lui est destiné.
Conformément à un aspect de la présente invention, celle-ci fournit un système de mémoire flash comprenant un dispositif de mémoire flash et une unité de commande. Le dispositif de mémoire flash comporte une matrice de 35 cellules mémoire et un tampon de page pour écrire des données fournies en entrée de l'extérieur dans la matrice de cellules mémoire. L'unité de commande divise les données en deux ou plusieurs groupes de données dont chacun a une taille inférieure à la taille du tampon de page, et transmet au dispositif de mémoire flash en série chaque 5 groupe de données et un code de parité pour le groupe de données.
L'unité de commande comprend une partie de commande de mémoire et un circuit de Correction d'Erreurs/Générateur de Code de Correction d'Erreurs ("ECC"). La partie de commande de mémoire transmet au dispositif de mémoire flash une commande prédéterminée, les données, une adresse pour les données, et un signal de commande, et le circuit ECC génère le code de parité.
Conformément à un autre aspect de l'invention, celle15 ci fournit un système de mémoire flash comprenant un dispositif de mémoire flash et une unité de commande. Le dispositif de mémoire flash comporte une matrice de cellules mémoire et un tampon de page pour écrire et lire des données dans et depuis la matrice de cellules mémoire. 20 L'unité de commande transmet en série au dispositif de mémoire flash deux groupes de codes de parité de données consécutives ou plus, dont chacun comporte une certaine quantité de données et un code de parité pour les données.
Dans le cas présent, chaque groupe de codes de parité de 25 données a une taille inférieure à la taille du tampon de page.
Selon encore un autre aspect de la présente invention, celle-ci fournit un procédé d'écriture de données dans un système de mémoire flash comportant un 30 dispositif de mémoire flash. Le procédé consiste à (a) transmettre au dispositif de mémoire flash une commande prédéterminée et un signal d'adresse; (b) transmettre des données au dispositif de mémoire flash; et (c) générer un code de parité pour les données et transmettre au 35 dispositif de mémoire flash le code de parité. Les étapes (b) et (c) sont répétées ici deux fois ou plus.
Lors des étapes (b) et (c), les données et le code de parité correspondant sont écrits en série dans un tampon de page du dispositif de mémoire flash.
Ces aspects et d'autres encore de l'invention seront 5 expliqués plus en détail, à titre d'exemple, avec référence aux dessins annexés, dans lesquels: la figure 1 représente un schéma fonctionnel d'un système de mémoire flash de l'invention; la figure 2 représente un schéma fonctionnel détaillé 10 d'une matrice de cellules mémoire et d'un tampon de page d'un dispositif de mémoire flash représenté sur la figure 1; la figure 3 illustre un procédé d'écriture de données dans le système de mémoire flash de l'invention; et les figures 4A et 4B illustrent des procédés d'écriture de données dans un système de mémoire flash conformément à des exemples comparatifs de l'invention.
L'invention va maintenant être décrite de façon plus détaillée en référence aux dessins annexés, dans lesquels 20 des exemples de modes de réalisation de l'invention sont illustrés. Des références numériques identiques sont utilisées pour désigner les mêmes éléments dans tous les dessins.
Se référant à la figure 1, un système de mémoire 25 flash 100 comprend une unité de commande 110 et un dispositif de mémoire flash 120.
L'unité de commande 110 comprend un processeur 112, une partie de commande de mémoire 114, et un circuit de Correction d'Erreurs/générateur de Code de Correction 30 d'Erreurs ("ECC") 118. Le processeur 112 commande le fonctionnement de l'unité de commande 110, et la partie de commande de mémoire 114 interface l'unité de commande 110 avec le dispositif de mémoire flash 120.
Le circuit ECC 118 génère des codes de parité pour 35 vérifier et/ou corriger les erreurs de données devant être écrites dans le dispositif de mémoire flash 120. Le circuit ECC 118 est réalisé de façon matérielle. Comme illustré sur la figure 1, l'unité de commande 110 peut en outre comprendre une mémoire vive statique (SRAM) 116 pour écrire des données.
Le dispositif de mémoire flash 120 comprend une matrice de cellules mémoire 122 et un tampon de page 124.
Bien que cela ne soit pas représenté en détail sur la figure 1, la matrice de cellules mémoire 122 comprend une pluralité de lignes de mots, une pluralité de lignes de 10 bits, et une pluralité de cellules mémoire qui sont respectivement agencées aux intersections entre les lignes de mots et les lignes de bits.
Les cellules mémoire de la matrice de cellules mémoire 122 sont connectées au tampon de page 124 par 15 l'intermédiaire des lignes de bits. Des données qui ont été fournies en entrée de l'extérieur sont écrites dans la matrice de cellules mémoire 122 par l'intermédiaire du tampon de page 124, et des données qui ont été lues depuis la matrice de cellules mémoire 122 sont fournies en sortie 20 vers l'extérieur par l'intermédiaire du tampon de page 124.
La figure 2 représente un schéma fonctionnel détaillé de la matrice de cellules mémoire 122 et du tampon de page 124 du dispositif de mémoire flash 120. Sur la figure 2, la référence numérique 131 désigne une page qui se réfère à 25 une pluralité de cellules mémoire connectées à une même ligne de mots.
Par conséquent, la matrice de cellules mémoire 122 comprend une pluralité de pages 131. Le tampon de page 124 est constitué d'un champ de données et d'un champ de 30 réserve. Dans un dispositif de mémoire flash typique, le champ de données et le champ de réserve sont respectivement des espaces permettant l'écriture de données et de codes de parité. Chaque page de la matrice de cellules mémoire 122 est également constituée d'un champ de données et d'un 35 champ de parité.
L'unité de commande 110 est connectée au dispositif de mémoire flash 120 par l'intermédiaire d'un bus d'entrée/sortie ("I/O") IO et d'un bus de commande CON. Le bus d'entrée/sortie IO est constitué d'une pluralité de 5 lignes de signaux, par exemple de 8 ou 16 lignes de signaux.
Des commandes CMD, des adresses ADDR, et des données DATA sont transmises par l'intermédiaire du bus d'entrée/sortie IO. Des signaux de commande sont transmis 10 par l'intermédiaire du bus de commande CON pour fournir une information indiquant si un signal qui est transmis par l'intermédiaire du bus d'entrée/sortie IO est une commande CMD, une adresse ADDR, ou une donnée DATA.
La figure 3 illustre un procédé 300 d'écriture de 15 données dans le système de mémoire flash représenté conformément à l'invention. La figure 3 représente un processus d'écriture de données et de codes de parité dans le dispositif de mémoire flash 120.
Se référant à la figure 3, une première commande 20 CMD1, une adresse ADDR, des données DATA1, DATAn et PARITYl-PARITYn, et une seconde commande CMD2 sont transmises en série au dispositif de mémoire flash 120. La première commande CMD1 peut être une commande de chargement de données. L'adresse ADDR désigne une adresse d'une 25 matrice de cellules mémoire à laquelle des données seront fournies en entrée.
Les données sont une pluralité de groupes de données DATAl-DATAn ainsi que de codes de parité PARITYl-PARITYn pour les groupes respectifs de données DATAl-DATAn. Plus 30 précisément, dans le système de mémoire flash 100 de l'invention, l'unité de commande 110 transmet au dispositif de mémoire flash 120 une partie (par exemple un groupe) de données DATAl- DATAn qui a une taille telle qu'elle peut être traitée par le circuit ECC 118. Après cela, l'unité de 35 commande 110 transmet au dispositif de mémoire flash 120 une partie des codes de parité PARITY1-PARITYn pour la partie (par exemple le groupe) de données DATA1-DATAn.
En d'autres termes, on notera que le transfert de toutes les données correspondant à la taille du champ de 5 données du tampon de page 124 est suivi du transfert des codes de parité pour toutes les données, mais que toutes les données sont divisées en deux ou plusieurs groupes plus petits et que le transfert de chaque groupe de données est suivi du transfert du code de parité correspondant au 10 groupe, de telle façon que des groupes respectifs de données et de codes de parité pour les groupes respectifs de données soient transmis de façon alternée au dispositif de mémoire flash 120.
Par conséquent, un premier groupe de données DATA1, 15 un premier code de parité PARITY1 pour le premier groupe de données DATA1, un second groupe de données DATA2, un second code de parité PARITY2 pour le second groupe de données DATA2, ..., un n-ème groupe de données DATAn, et un n-ème code de parité PARITYn sont générés en série par l'unité de 20 commande 110 et fournis en entrée au dispositif de mémoire flash 120.
Les premier à n-ème codes de parité PARITY1-PARITYn correspondent respectivement aux premier à n-ème groupes de données DATA1-DATAn. Le tampon de page 124 accepte en série 25 les données transmises et les codes de parité transmis quels que soient le champ de données et le champ de réserve. Les premier à n-ème groupes de données DATA1DATAn peuvent avoir la même taille.
Si l'on suppose que le champ de données du tampon de 30 page 124 a une taille de N octets (N est ici un entier naturel supérieur à 1), chaque groupe de données peut avoir une taille de N octets divisée par le nombre de groupes. Le nombre de groupes est ici un entier naturel supérieur à 2.
Par exemple, si l'on suppose que le champ de données 35 du tampon de page 124 a une taille de 2 ko et que le champ de réserve a une taille de 64 octets (c'est-à-dire que le tampon de page 124 a une taille totale de (2K+ 64) octets) et qu'une unité de traitement de codes de parité est de 512 octets, les données et les codes de parité sont écrits dans le tampon de page 124 dans l'ordre d'une première donnée de 5 512 octets, d'un premier code de parité de 16 octets, d'une seconde donnée de 512 octets, d'un second code de parité de 16 octets, d'une troisième donnée de 512 octets, d'un troisième code de parité de 16 octets, d'une quatrième donnée de 512 octets et d'un quatrième code de parité de 16 10 octets. Une seconde commande CMD2 est ensuite transmise au dispositif de mémoire flash 120.
La lecture des données est effectuée de la même manière que l'écriture des données. Dans l'exemple cidessus, dans lequel l'unité de traitement de code de parité 15 est de 512 octets, lorsque des données sont lues depuis le dispositif de mémoire flash 120, la lecture de la première donnée de 512 octets DATAl est directement suivie de la lecture du premier code de parité correspondant PARITY1.
Par conséquent, pendant la lecture de la seconde donnée de 20 512 octets DATA2, il est possible de vérifier les erreurs de la première donnée DATA1 en utilisant le premier code de parité PARITY1.
Par conséquent, si l'on vérifie et trouve que la première donnée DATAl contient des erreurs, l'opération de 25 lecture présente est interrompue de sorte que les données soient de nouveau lues afin de traiter rapidement les erreurs.
Comme décrit ci-dessus, lorsque le tampon de page 124 a une taille supérieure à celle de l'unité de traitement de 30 codes de parité, un groupe de données correspondant à l'unité de traitement de codes de parité est écrit dans le tampon de page 124, et le code de parité correspondant généré par le circuit ECC 118 est ensuite écrit dans le tampon de page 124. Après cela, le groupe suivant de 35 données correspondant à l'unité de traitement de codes de parité et le code de parité correspondant sont écrits en série dans le tampon de page 124. Si l'on répète cette opération d'écriture, il n'est pas nécessaire d'accumuler tous les codes de parité dans le tampon de page 124.
Pendant la lecture de données, un groupe de données 5 correspondant à l'unité de traitement de codes de parité et le code de parité correspondant sont lus en série depuis le tampon de page 124, ce qui permet de réduire le temps de vérification des erreurs, et ce qui facilite le processus de vérification des erreurs. L'effet de la présente 10 invention apparaît plus clairement par comparaison à l'exemple comparatif suivant.
Les figures 4A et 4B illustrent respectivement des procédés 400 et 450 d'écriture de données dans un système de mémoire flash conforme aux exemples comparatifs de la 15 présente invention.
Se référant à la figure 4A, après qu'une unité de commande 110 ait transmis une première commande CMD1 et une adresse ADDR1 à un dispositif de mémoire flash 120, des données consécutives DATA1-DATAn sont écrites en série dans 20 le tampon de page 124. Après cela, des codes de parité consécutifs PARITY1-PARITYn sont transmis en série et enfin, une seconde commande CMD2 est transmise au dispositif de mémoire flash 120.
Plus précisément, après que l'unité de commande 110 a 25 transmis la totalité des données DATA1-DATAn correspondant à la taille du champ de données au dispositif de mémoire flash 120 de façon que les données DATA1-DATAn soient écrites dans le champ de données, la totalité des codes de parité PARITY1-PARITYn sont transmis et écrits dans un 30 champ de réserve.
Se référant à la figure 4B, une unité de commande 110 transmet des données consécutives DATA1-DATAn en utilisant une première commande CMD1, une adresse ADDR1, et une seconde commande CMD2 de façon que les données DATA1-DATAn 35 soient écrites en série dans une page d'une cellule mémoire 122 par l'intermédiaire d'un tampon de page 124. Après cela, l'unité de commande 110 transmet des codes de parité consécutifs PARITY1-PARITYn correspondant aux données DATA1-DATAn en utilisant la première commande CMD1, une seconde adresse ADDR2, et de nouveau la seconde commande 5 CMD2, de façon que les codes de parité PARITY1-PARITYn soient écrits dans une autre page de la cellule mémoire 122 par l'intermédiaire du tampon de page 124.
Dans l'exemple comparatif des procédés représentés sur les figures 4A et 4B, si le tampon de page 124 a une 10 taille supérieure à une unité de traitement de codes de parité, pour écrire des codes de parité dans le champ de réserve ou une autre page de la cellule mémoire 122, un code de parité généré pour chaque unité de traitement de code de parité doit être stocké dans un dispositif de mémoire supplémentaire de l'unité de commande 110 puis être transmis au dispositif de mémoire flash 120. Cela peut augmenter la charge de traitement des données.
En outre, pendant la lecture de données, la lecture d'une partie des données correspondant à la taille d'une 20 page est suivie de la lecture de codes de parité pour cette partie des données, ou les données et les codes de parité peuvent ne sont pas lus en série. Par conséquent, le temps mis pour contrôler les erreurs augmente.
Conformément à la présente invention, un système de 25 mémoire flash entrelace l'écriture de données et l'écriture de codes de parité pour les données indépendamment d'un champ de données et d'un champ de réserve d'un tampon de page, ce qui permet de réduire le temps global d'écriture.
Par ailleurs, chaque code de parité est généré pour une 30 quantité relativement faible de données, ce qui permet de réduire notablement la charge imposée au circuit ECC.
Bien que la présente invention ait été illustrée et décrite plus particulièrement en référence à des exemples de modes de réalisation de celle-ci, les personnes 35 normalement compétentes dans la technique concernée noteront que diverses modifications de la forme et des il détails peuvent être envisagées sans qu'elles s'écartent du cadre de l'invention tel qu'il est défini dans les revendications annexées.
Claims (20)
1. Système de mémoire flash (100) caractérisé en ce qu'il comprend: un dispositif de mémoire flash (120) qui comporte une 5 matrice de cellules mémoire (122) et un tampon de page (124) pour écrire des données fournies en entrée de l'extérieur dans la matrice de cellules mémoire (122) ; et une unité de commande (110) qui divise les données en deux groupes de données ou davantage dont chacun a une 10 taille inférieure à la taille du tampon de page (124), et transmet en série au dispositif de mémoire flash (120) chaque groupe de données et un code de parité pour le groupe de données.
2. Système (100) selon la revendication 1, 15 caractérisé en ce que l'unité de commande (110) comprend: une partie de commande de mémoire (114) qui transmet une commande prédéterminée, les données, une adresse pour les données, et un signal de commande au dispositif de mémoire flash (120) ; et un circuit ECC (118) pour générer le code de parité.
3. Système (100) selon la revendication 1, caractérisé en ce que le tampon de page (124) comprend: un champ de données à N octets; et un champ de réserve à M octets, dans lequel N et M sont chacun un nombre entier supérieur à 1.
4. Système (100) selon la revendication 3, caractérisé en ce que chaque groupe de données et le code de parité pour le groupe de données sont écrits en série 30 dans le tampon de page (124), quels que soient le champ de données et le champ de réserve.
5. Système de mémoire flash (100) caractérisé en ce qu'il comprend: un dispositif de mémoire flash (120) qui comporte une 35 matrice de cellules mémoire (122) et un tampon de page (124) pour écrire et lire des données dans et depuis la matrice de cellules mémoire (122) ; et une unité de commande (110) qui transmet en série au dispositif de mémoire flash (120) deux groupes de codes de 5 parité de données consécutifs ou plus dont chacun contient une certaine quantité de données, et un code de parité pour les données, dans lequel chaque groupe de codes de parité de données a une taille inférieure à la taille du tampon de 10 page (124).
6. Système (100) selon la revendication 5, caractérisé en ce que l'unité de commande (110) comprend: une partie de commande de mémoire (118) qui transmet une commande prédéterminée, les données, une adresse pour 15 les données, et un signal de commande au dispositif de mémoire flash (120) ; et un circuit ECC (118) pour générer le code de parité.
7. Procédé d'écriture de données dans un système de mémoire flash (100) caractérisé en ce qu'il comprend un 20 dispositif de mémoire flash (120), le procédé étant caractérisé en ce qu'il consiste à : (a) transmettre une commande prédéterminée et un signal d'adresse au dispositif de mémoire flash (120) ; (b) transmettre des données au dispositif de mémoire 25 flash (120) ; et (c) générer un code de parité pour les données et transmettre le code de parité au dispositif de mémoire flash (120), dans lequel les étapes (b) et (c) sont répétées deux 30 fois ou plus.
8. Procédé selon la revendication 7, caractérisé en ce que, lors des étapes (b) et (c), les données et le code de parité correspondants sont écrits en série dans un tampon de page (124) du dispositif de mémoire flash (120). 35
9. Mémoire (100) selon la revendication 8, caractérisée en ce que les données et le code de parité correspondant ont une taille inférieure à la taille du tampon de page (124).
10. Mémoire flash (100) caractérisée en ce qu'elle comprend: une matrice de cellules mémoire (122) ; un tampon de page (124) en communication de signal avec la matrice de cellules mémoire (122) ; et une unité de commande (110) en communication de signal avec le tampon de page (124) pour transférer des 10 données sous la forme d'une pluralité de groupes avec des codes de parité correspondants, la taille combinée de la pluralité de groupes et des codes de parité correspondants n'étant pas supérieure à la taille du tampon de page (124).
11. Mémoire flash (100) selon la revendication 10, 15 l'unité de commande (110) étant caractérisée en ce qu'elle comprend: une partie de commande de mémoire (114) pour transmettre chacune d'une commande, de données, et d'une adresse pour les données au tampon de page (124) ; et une partie génératrice de code de correction d'erreurs ("ECC") (118) pour générer un code de parité correspondant pour chaque groupe de la pluralité de groupes de données.
12. Mémoire flash (100) selon la revendication 11, 25 dans laquelle la partie de commande de mémoire (114) est disposée de façon à transmettre un signal de commande à au moins l'une de la matrice de cellules mémoire (122) et du tampon de page (124).
13. Mémoire flash (100) selon la revendication 10, 30 caractérisée en ce que le tampon de page (124) comprend: un champ de données d'une taille de N octets; et un champ de réserve d'une taille de M octets, où N et M sont chacun des entiers naturels, et N+M n'est pas supérieur à la taille du tampon de page (124).
14. Mémoire flash (100) selon la revendication 13, caractérisé en ce que chaque groupe de données et le code de parité qui lui correspond sont écrits en série dans le tampon de page (124).
15. Mémoire flash (100) selon la revendication 10, caractérisée en ce que: l'unité de commande (110) et le tampon de page (124) sont conçus pour écrire et lire des données dans la matrice de cellules mémoire (122) ; et la pluralité de groupes est agencée sous la forme d'une pluralité de groupes consécutifs (données, parité, 10 code) dont chacun contient une quantité variable de données et un code de parité correspondant pour ces données.
16. Mémoire flash (100) selon la revendication 10, pour au moins l'une d'une lecture et d'une écriture de données, la mémoire flash (100) étant en outre caractérisée 15 en ce qu'elle comprend: un moyen de commande pour transmettre une commande à au moins l'un du tampon de page (124) et de la matrice de cellules mémoire (122) ; un moyen d'adressage pour transmettre une pluralité 20 d'adresses pour les données à au moins l'un du tampon de page (124) et de la matrice de cellules mémoire (122) ; et un moyen de correction d'erreurs (118) pour générer une pluralité de codes de parité pour les données.
17. Mémoire flash (100) selon la revendication 16, 25 comprenant en outre un moyen de transfert de données pour écrire une pluralité d'unités de données et une pluralité correspondante de codes de parité dans le tampon de page (124).
18. Mémoire flash (100) selon la revendication 17, 30 caractérisée en ce que le moyen de transfert de données est destiné à écrire en série une pluralité d'unités de données et une pluralité correspondante de codes de parité dans le tampon de page (124).
19. Mémoire flash (100) selon la revendication 18, 35 caractérisée en ce que la taille combinée de la pluralité d'unités de données et de la pluralité correspondante de codes de parité n'est pas supérieure à une taille maximum du tampon de page.
20. Mémoire flash (100) selon la revendication 10, le tampon de page (124) étant caractérisé en ce qu'il comprend: un premier champ pour recevoir consécutivement des groupes alternés de données et de codes de parité ; et un second champ pour recevoir une suite des groupes alternés consécutifs de données et de codes de parité.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030050502A KR100546348B1 (ko) | 2003-07-23 | 2003-07-23 | 플래시 메모리 시스템 및 그 데이터 저장 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2858101A1 true FR2858101A1 (fr) | 2005-01-28 |
FR2858101B1 FR2858101B1 (fr) | 2006-07-07 |
Family
ID=33563021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0408024A Expired - Lifetime FR2858101B1 (fr) | 2003-07-23 | 2004-07-20 | Systeme de memoire flash |
Country Status (4)
Country | Link |
---|---|
US (4) | US7290082B2 (fr) |
KR (1) | KR100546348B1 (fr) |
DE (1) | DE102004036888B4 (fr) |
FR (1) | FR2858101B1 (fr) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4818812B2 (ja) * | 2006-05-31 | 2011-11-16 | 株式会社日立製作所 | フラッシュメモリストレージシステム |
US20050132128A1 (en) * | 2003-12-15 | 2005-06-16 | Jin-Yub Lee | Flash memory device and flash memory system including buffer memory |
JP2007257791A (ja) * | 2006-03-24 | 2007-10-04 | Fujitsu Ltd | 半導体記憶装置 |
TW200828328A (en) * | 2006-12-28 | 2008-07-01 | Genesys Logic Inc | Method of improving accessing reliability of flash memory |
KR100799688B1 (ko) * | 2007-01-03 | 2008-02-01 | 삼성전자주식회사 | 백업 회로를 갖는 메모리 시스템 및 그것의 프로그램 방법 |
TW200832436A (en) * | 2007-01-26 | 2008-08-01 | Holtek Semiconductor Inc | Data securing method and structure for non-volatile storage device |
KR100877609B1 (ko) * | 2007-01-29 | 2009-01-09 | 삼성전자주식회사 | 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법 |
US8560760B2 (en) * | 2007-01-31 | 2013-10-15 | Microsoft Corporation | Extending flash drive lifespan |
US7657572B2 (en) | 2007-03-06 | 2010-02-02 | Microsoft Corporation | Selectively utilizing a plurality of disparate solid state storage locations |
KR100919556B1 (ko) | 2007-08-10 | 2009-10-01 | 주식회사 하이닉스반도체 | 상 변화 메모리 장치 |
IL187041A0 (en) * | 2007-10-30 | 2008-02-09 | Sandisk Il Ltd | Optimized hierarchical integrity protection for stored data |
KR101368694B1 (ko) | 2008-01-22 | 2014-03-03 | 삼성전자주식회사 | 메모리 프로그래밍 장치 및 방법 |
US20090199043A1 (en) * | 2008-01-31 | 2009-08-06 | Peter Schrogmeier | Error correction in an integrated circuit with an array of memory cells |
KR101515122B1 (ko) * | 2008-02-15 | 2015-04-27 | 삼성전자주식회사 | 저장된 데이터의 오류에 기반하여 기준 전압을 제어하는 방법과 메모리 데이터 검출 장치 |
JP2010009141A (ja) * | 2008-06-24 | 2010-01-14 | Toshiba Corp | データ転送方法 |
KR101431760B1 (ko) | 2008-06-25 | 2014-08-20 | 삼성전자주식회사 | Ecc 알고리즘을 이용한 플래시 메모리 장치 및 그구동방법 |
KR101030146B1 (ko) * | 2008-08-29 | 2011-04-18 | 서울대학교산학협력단 | 페이지 버퍼를 쓰기 캐시로 이용하는 플래시 기반 저장 장치 및 이용 방법 |
US8438455B2 (en) * | 2008-12-31 | 2013-05-07 | Intel Corporation | Error correction in a solid state disk |
JP2010277352A (ja) * | 2009-05-28 | 2010-12-09 | Toshiba Corp | メモリシステム |
US8225052B2 (en) * | 2009-06-03 | 2012-07-17 | Micron Technology, Inc. | Methods for controlling host memory access with memory devices and systems |
US8370702B2 (en) | 2009-06-10 | 2013-02-05 | Micron Technology, Inc. | Error correcting codes for increased storage capacity in multilevel memory devices |
JP5668279B2 (ja) * | 2009-08-06 | 2015-02-12 | ソニー株式会社 | 不揮発性ランダムアクセスメモリおよび不揮発性メモリシステム |
JP5464066B2 (ja) * | 2010-06-10 | 2014-04-09 | ソニー株式会社 | 通信装置、及び、通信方法 |
US8868852B2 (en) | 2010-07-07 | 2014-10-21 | Marvell World Trade Ltd. | Interface management control systems and methods for non-volatile semiconductor memory |
US9135168B2 (en) | 2010-07-07 | 2015-09-15 | Marvell World Trade Ltd. | Apparatus and method for generating descriptors to reaccess a non-volatile semiconductor memory of a storage drive due to an error |
US9141538B2 (en) | 2010-07-07 | 2015-09-22 | Marvell World Trade Ltd. | Apparatus and method for generating descriptors to transfer data to and from non-volatile semiconductor memory of a storage drive |
KR102004928B1 (ko) * | 2012-12-04 | 2019-07-29 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 에러 정정 코드 처리 방법 |
CN106455936B (zh) * | 2014-04-02 | 2019-03-08 | 柯惠有限合伙公司 | 用于内窥镜手术的外科紧固件施加装置、套件和方法 |
JP2016028319A (ja) * | 2014-07-08 | 2016-02-25 | 富士通株式会社 | アクセス制御プログラム、アクセス制御装置及びアクセス制御方法 |
KR102249810B1 (ko) * | 2014-07-23 | 2021-05-11 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
US10002043B2 (en) * | 2014-08-19 | 2018-06-19 | Samsung Electronics Co., Ltd. | Memory devices and modules |
US10002044B2 (en) | 2014-08-19 | 2018-06-19 | Samsung Electronics Co., Ltd. | Memory devices and modules |
JP2017533763A (ja) * | 2014-11-04 | 2017-11-16 | アボット、カーディオバスキュラー、システムズ、インコーポレーテッドAbbott Cardiovascular Systems Inc. | インプラントを送達するため遊星ギア作動アセンブリを用いる方法及びシステム |
KR102245822B1 (ko) | 2014-11-26 | 2021-04-30 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 프로그램 방법 |
US11090097B2 (en) * | 2015-03-17 | 2021-08-17 | Covidien Lp | Connecting end effectors to surgical devices |
US9916091B2 (en) | 2015-07-13 | 2018-03-13 | Samsung Electronics Co., Ltd. | Memory system architecture |
US10177785B2 (en) * | 2016-08-23 | 2019-01-08 | Western Digital Technologies, Inc. | Error detecting code with partial update |
KR20220113146A (ko) * | 2021-02-05 | 2022-08-12 | 에스케이하이닉스 주식회사 | 호스트 및 이에 연결되는 메모리 시스템의 동작 방법 |
KR20220143450A (ko) * | 2021-04-16 | 2022-10-25 | 에스케이하이닉스 주식회사 | 시스템 버퍼를 포함하는 메모리 시스템 및 이의 동작 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000049488A1 (fr) * | 1999-02-17 | 2000-08-24 | Memory Corporation Plc | Systeme de memoire |
EP1286359A2 (fr) * | 2001-08-23 | 2003-02-26 | Fujitsu Limited | Dispositif de commande de mémoire pour une mémoire multi-niveau |
US20030123287A1 (en) * | 2001-09-28 | 2003-07-03 | Gorobets Sergey Anatolievich | Non-volatile memory control |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US123287A (en) * | 1872-01-30 | Improvement in step-ladders | ||
US5514862A (en) | 1994-05-20 | 1996-05-07 | At&T Corp. | Portable data carrier |
US5475693A (en) * | 1994-12-27 | 1995-12-12 | Intel Corporation | Error management processes for flash EEPROM memory arrays |
JPH10207726A (ja) * | 1997-01-23 | 1998-08-07 | Oki Electric Ind Co Ltd | 半導体ディスク装置 |
US5999451A (en) * | 1998-07-13 | 1999-12-07 | Macronix International Co., Ltd. | Byte-wide write scheme for a page flash device |
JP3940544B2 (ja) * | 2000-04-27 | 2007-07-04 | 株式会社東芝 | 不揮発性半導体メモリのベリファイ方法 |
TW539950B (en) * | 2000-12-28 | 2003-07-01 | Sony Corp | Data recording device and data write method for flash memory |
US20020174397A1 (en) * | 2001-05-16 | 2002-11-21 | Fujitsu Limited | Method for error detection/correction of multilevel cell memory and multilevel cell memory having error detection/correction function |
US6990623B2 (en) * | 2001-05-16 | 2006-01-24 | Fujitsu Limited | Method for error detection/correction of multilevel cell memory and multilevel cell memory having error detection/correction function |
US6766952B2 (en) | 2001-11-06 | 2004-07-27 | Quadnovation, Inc. | SIM card carrier |
JP4112849B2 (ja) * | 2001-11-21 | 2008-07-02 | 株式会社東芝 | 半導体記憶装置 |
JP4034971B2 (ja) * | 2002-01-21 | 2008-01-16 | 富士通株式会社 | メモリコントローラおよびメモリシステム装置 |
-
2003
- 2003-07-23 KR KR1020030050502A patent/KR100546348B1/ko active IP Right Grant
-
2004
- 2004-06-16 US US10/869,022 patent/US7290082B2/en active Active
- 2004-07-20 FR FR0408024A patent/FR2858101B1/fr not_active Expired - Lifetime
- 2004-07-21 DE DE102004036888A patent/DE102004036888B4/de not_active Expired - Lifetime
-
2007
- 2007-09-19 US US11/857,900 patent/US7562183B2/en not_active Expired - Lifetime
-
2009
- 2009-07-14 US US12/502,700 patent/US7899980B2/en not_active Expired - Lifetime
-
2011
- 2011-01-26 US US13/013,948 patent/US20110119436A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000049488A1 (fr) * | 1999-02-17 | 2000-08-24 | Memory Corporation Plc | Systeme de memoire |
EP1286359A2 (fr) * | 2001-08-23 | 2003-02-26 | Fujitsu Limited | Dispositif de commande de mémoire pour une mémoire multi-niveau |
US20030123287A1 (en) * | 2001-09-28 | 2003-07-03 | Gorobets Sergey Anatolievich | Non-volatile memory control |
Also Published As
Publication number | Publication date |
---|---|
FR2858101B1 (fr) | 2006-07-07 |
US20090271568A1 (en) | 2009-10-29 |
US20080028133A1 (en) | 2008-01-31 |
KR20050011409A (ko) | 2005-01-29 |
KR100546348B1 (ko) | 2006-01-26 |
US20050021905A1 (en) | 2005-01-27 |
DE102004036888B4 (de) | 2008-07-31 |
US7899980B2 (en) | 2011-03-01 |
DE102004036888A1 (de) | 2005-02-24 |
US7562183B2 (en) | 2009-07-14 |
US7290082B2 (en) | 2007-10-30 |
US20110119436A1 (en) | 2011-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2858101A1 (fr) | Systeme de memoire flash | |
JP5132687B2 (ja) | メモリにおけるキャッシュを利用した誤り検出及び訂正方法及び装置 | |
KR101457518B1 (ko) | 메모리 제어기들에 있어서의 데이터 무결성 및 방법들 | |
US8656252B2 (en) | Memory controller and non-volatile storage device | |
US9367392B2 (en) | NAND flash memory having internal ECC processing and method of operation thereof | |
EP2187315B1 (fr) | Procédé pour accéder à des données dans une mémoire flash et contrôleur d'accès à des données | |
JP4908083B2 (ja) | メモリコントローラ | |
KR100870392B1 (ko) | 시스템 및 데이터 저장 방법 | |
US9348694B1 (en) | Detecting and managing bad columns | |
US8635508B2 (en) | Systems and methods for performing concatenated error correction | |
US9627092B2 (en) | Semiconductor device performing error correction operation | |
US20040225944A1 (en) | Systems and methods for processing an error correction code word for storage in memory components | |
US20210132909A1 (en) | Processing-in-memory (pim) devices and methods of testing the pim devices | |
FR2831971A1 (fr) | Procede de memorisation de donnees avec correction d'erreur | |
US9786388B1 (en) | Detecting and managing bad columns | |
US20100077131A1 (en) | Updating control information in non-volatile memory to control selection of content | |
JP7186262B2 (ja) | 共有データ統計情報を使用したコンテンツアウェア復号(Content Aware Decoding) | |
CN111782146B (zh) | 实现写缓存的方法、装置、计算机设备及存储介质 | |
CN111538622B (zh) | 星载固态存储器纠错方法 | |
FR3065303B1 (fr) | Procede d'ecriture dans un dispositif de memoire non volatile et dispositif de memoire non volatile correspondant | |
EP3522020A1 (fr) | Gestion d'une mémoire non volatile | |
JP2000163320A (ja) | ソフトエラー対策機能付メモリ装置及びソフトエラー対策方法 | |
US20080186787A1 (en) | Storage device | |
EP4411735A1 (fr) | Procédé d'émulation d'une mémoire eeprom | |
JPH08129510A (ja) | メモリデータ訂正装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 13 |
|
PLFP | Fee payment |
Year of fee payment: 14 |
|
PLFP | Fee payment |
Year of fee payment: 15 |
|
PLFP | Fee payment |
Year of fee payment: 17 |
|
PLFP | Fee payment |
Year of fee payment: 18 |
|
PLFP | Fee payment |
Year of fee payment: 19 |
|
PLFP | Fee payment |
Year of fee payment: 20 |