FR2787233A1 - Verifying integrity of decoding circuits of memory matrix by performing at least N or M writing of second words in storage in such way that every line and every column has at least registered second word - Google Patents
Verifying integrity of decoding circuits of memory matrix by performing at least N or M writing of second words in storage in such way that every line and every column has at least registered second word Download PDFInfo
- Publication number
- FR2787233A1 FR2787233A1 FR9815786A FR9815786A FR2787233A1 FR 2787233 A1 FR2787233 A1 FR 2787233A1 FR 9815786 A FR9815786 A FR 9815786A FR 9815786 A FR9815786 A FR 9815786A FR 2787233 A1 FR2787233 A1 FR 2787233A1
- Authority
- FR
- France
- Prior art keywords
- words
- word
- memory
- written
- column
- 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
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/10—Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns
Landscapes
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
Procédé pour vérifier l'intégrité des circuits deMethod for verifying the integrity of the
décodage d'une mémoire.decoding of a memory.
L'invention concerne un procédé pour vérifier The invention relates to a method for verifying
l'intégrité des circuits de décodage d'une mémoire. the integrity of the memory decoding circuits.
L'invention se rapporte plus particulièrement aux tests de production, notamment à un test connu sous le nom de test de la diagonale. Une étape importante lors de la fabrication de circuit intégré est la vérification du bon fonctionnement des circuits en fin de chaîne de production. Etant donné les tailles des transistors, il n'est pas rare qu'une impureté déposée soit sur un masque de fabrication, soit sur la rondelle de silicium pendant la fabrication provoque une erreur sur le circuit. Les erreurs se traduisent de différentes manières, qui peuvent être un défaut de connexion, un court-circuit, un transistor défectueux. D'une manière générale, cela revient à avoir des signaux dits collés soit entre deux signaux, soit The invention relates more particularly to production tests, in particular to a test known as the diagonal test. An important step during the manufacture of an integrated circuit is the verification of the proper functioning of the circuits at the end of the production chain. Given the sizes of the transistors, it is not uncommon for an impurity deposited either on a manufacturing mask or on the silicon washer during manufacturing to cause an error on the circuit. Errors are expressed in different ways, which can be a connection fault, a short circuit, a faulty transistor. In general, this amounts to having so-called signals glued either between two signals, or
plus généralement collé à "1" ou collé à "0". more generally pasted at "1" or pasted at "0".
Pour les mémoires la densité d'intégration est maximale et le risque de collage en est augmenté. De nombreux tests sont élaborés pour tester de manière individuelle tous les éléments fonctionnels de la mémoire. Le temps de test devant être réduit au maximum pour des raisons de coût, on procède d'abord aux tests les plus rapides qui permettent de détecter un maximum d'erreurs de sorte que la totalité des tests n'est For memories, the integration density is maximum and the risk of sticking is increased. Many tests are developed to individually test all the functional elements of memory. Since the test time should be reduced to the maximum for cost reasons, the fastest tests are carried out first, which allow a maximum of errors to be detected so that all of the tests are not
réalisée que sur les composants valides. performed only on valid components.
Un des premiers tests effectués sur les mémoires consiste à vérifier l'intégrité de la matrice de mémorisation. Ce test d'intégrité de la matrice est l'un des plus courts et permet donc un tri rapide des composants défectueux. Cependant les autres éléments de la mémoire doivent également être testés. Cela permet d'effectuer entre autre tous les autres tests en considérant que la matrice de mémorisation fonctionne correctement. Pour vérifier l'intégrité des circuits de décodage, il est connu, dans l'état de la technique, le test de la diagonale. Le test de la diagonale consiste à mettre toutes les cellules de mémorisation dans un premier état puis à écrire, dans un deuxième état, toutes les cellules de mémorisation qui se situent sur la diagonale de la One of the first tests carried out on the memories consists in verifying the integrity of the storage matrix. This matrix integrity test is one of the shortest and therefore allows rapid sorting of defective components. However, the other memory elements must also be tested. This makes it possible, among other things, to carry out all the other tests considering that the storage matrix is functioning correctly. To verify the integrity of the decoding circuits, the diagonal test is known in the state of the art. The diagonal test consists of putting all the memory cells in a first state and then writing, in a second state, all the memory cells which are located on the diagonal of the
matrice de mémorisation.memorization matrix.
La figure 1 représente une matrice 1 de cellules 2 de mémorisation de type carré. Le contenu des cellules 2 de mémorisation est indiqué sur chaque cellule 2. On peut voir que la totalité des cellules contient l'information binaire "0" à l'exception des cellules de la diagonale de FIG. 1 represents a matrix 1 of cells 2 of square type storage. The content of the storage cells 2 is indicated on each cell 2. It can be seen that all of the cells contain the binary information "0" with the exception of the cells of the diagonal of
la matrice 1 qui contiennent l'information binaire "1". the matrix 1 which contain the binary information "1".
Le test de la diagonale se termine par une lecture de chaque cellule de mémorisation pour vérifier qu'il n'y a pas de décodage multiple de lignes ou de colonnes. Un décodage multiple se traduit par une lecture erronée du contenu de certaines cellules. En effet, lorsqu'une erreur se produit lors de l'écriture, deux bits ou aucun sont écrits simultanément au lieu d'un seul transformant un "0" en "1", ou l'inverse. De même, lorsqu'une erreur de décodage se produit lors de la lecture, plusieurs cellules sont lues simultanément et l'information lue est le résultat d'une fonction logique de type ET ou de type OU (suivant le type de mémoire et/ou suivant l'erreur) The diagonal test ends with a reading of each storage cell to verify that there is no multiple decoding of rows or columns. Multiple decoding results in an incorrect reading of the content of certain cells. Indeed, when an error occurs during the writing, two bits or none are written simultaneously instead of only one transforming a "0" into "1", or the reverse. Likewise, when a decoding error occurs during reading, several cells are read simultaneously and the information read is the result of a logical function of AND type or of OR type (depending on the type of memory and / or depending on the error)
entre les données lues simultanément. between the data read simultaneously.
Le test de la diagonale est très efficace dans le The diagonal test is very effective in
cas d'une matrice de mémorisation de type carré, c'est-à- case of a storage matrix of square type, that is to say
dire pour une matrice qui dispose d'autant de lignes say for a matrix that has as many rows
(lignes de mots) que de colonnes (lignes de bits). (word lines) than columns (bit lines).
Toutefois il est fréquent d'avoir des matrices de mémorisation de type rectangulaire, c'est à dire qui ont un nombre de lignes et de colonnes différent. Si l'on se réfère aux mémoires à accès par page (classiquement, une page fait 64 mots de 8 bits). Cela se traduit par une mémoire qui dispose de 512 colonnes quelque soit sa capacité totale. Le test de la diagonale se traduit alors comme indiqué sur les figures 2 et 3. On divise la matrice rectangulaire en plusieurs matrices carrées. Comme l'homme du métier peut le voir sur les figures 2 et 3, les motifs écrits se répètent pour des adresses différentes. Cela est d'autant plus gênant que le motif se répète pour des adresses o seul un unique bit change. Il n'est donc pas possible de tester valablement le décodage concernant cet unique bit car le changement de ce bit revient à tester une zone de mémoire identique. Dans certains cas, la mémoire peut même être décomposée en un nombre de carrés plus important (il existe aujourd'hui des mémoires accessible par page dont la taille varie entre 1 kbits et 16 Mbits ce qui se traduit par un nombre de lignes variable, pour un nombre de colonnes fixe). Dans certains cas, le nombre de carrés répétés est plus important et se traduit par la non testabilité du décodage d'un nombre de bits d'adresses important. Par ailleurs, les mémoires les plus sujettes à des tailles non rectangulaires sont généralement organisées en mots, d'autres sont même configurables suivant However, it is frequent to have storage matrices of rectangular type, that is to say which have a different number of rows and columns. If we refer to memories with access per page (conventionally, a page is 64 words of 8 bits). This results in a memory which has 512 columns whatever its total capacity. The diagonal test is then translated as shown in Figures 2 and 3. The rectangular matrix is divided into several square matrices. As those skilled in the art can see in FIGS. 2 and 3, the written patterns are repeated for different addresses. This is all the more annoying as the pattern is repeated for addresses where only a single bit changes. It is therefore not possible to validly test the decoding concerning this single bit because changing this bit amounts to testing an identical memory area. In some cases, the memory can even be broken down into a larger number of squares (there are today memories accessible per page whose size varies between 1 kbits and 16 Mbits which results in a variable number of lines, for a fixed number of columns). In some cases, the number of repeated squares is greater and results in the non-testability of the decoding of a large number of address bits. In addition, the memories most subject to non-rectangular sizes are generally organized in words, others are even configurable according to
plusieurs tailles de mots.multiple word sizes.
L'invention propose d'améliorer la technique de test en profitant de l'organisation par mots de la mémoire. Le procédé proposé par l'invention permet d'une part de s'affranchir des incertitudes de test décrites précédemment, et d'autre part de diminuer le temps de test. L'invention a pour objet un procédé pour vérifier l'intégrité des circuits de décodage d'une mémoire comprenant une matrice de mémorisation comportant N lignes et M colonnes de mots de L bits, la matrice de mémorisation disposant de N * M * L cellules de mémorisation accessibles à l'aide de N * M adresses par mots de L bits, N, M et L étant des entiers positifs supérieurs à 1, dans lequel, après avoir écrit tous les mots de la mémoire avec un même premier mot, on effectue au moins N ou M écritures de deuxièmes mots dans la matrice de mémorisation de telle manière que chaque ligne et chaque colonne ait au moins un deuxième mot d'inscrit, les deuxièmes mots étant différents du premier mot, puis The invention proposes to improve the test technique by taking advantage of the word organization of the memory. The method proposed by the invention makes it possible on the one hand to overcome the test uncertainties described above, and on the other hand to reduce the test time. The subject of the invention is a method for verifying the integrity of the decoding circuits of a memory comprising a storage matrix comprising N lines and M columns of words of L bits, the storage matrix having N * M * L cells. memory accessible by means of N * M addresses by words of L bits, N, M and L being positive integers greater than 1, in which, after having written all the words of the memory with the same first word, performs at least N or M writing of second words in the storage matrix in such a way that each row and each column has at least one second written word, the second words being different from the first word, then
on lit tous les mots de la matrice de mémorisation. we read all the words in the memory matrix.
Un tel procédé permet de réduire le nombre d'écritures et de réduire le nombre bits d'adresse, dont le décodage n'est pas vérifiable, par la taille des mots lorsque l'on teste une mémoire disposant d'un petit nombre de lignes. Il est bon de prévoir, si plusieurs deuxièmes mots sont inscrits sur une même ligne ou dans une même colonne que les deuxièmes mots soient différents. Cela permet de réduire à zéro le risque de Such a method makes it possible to reduce the number of writes and to reduce the number of address bits, the decoding of which is not verifiable, by the size of the words when testing a memory having a small number of lines. . It is good to predict, if several second words are written on the same line or in the same column that the second words are different. This reduces the risk of
non testabilité du décodage d'un bit d'adresse. non-testability of the decoding of an address bit.
Une amélioration, pour les mémoires qui disposent d'un mode d'écriture par page, consiste en ce que une pluralité de deuxièmes mots différents sont écrits An improvement, for memories which have a writing mode per page, consists in that a plurality of different second words are written
simultanément sur une même ligne.simultaneously on the same line.
De manière pratique, les deuxièmes mots sont écrits sur les diagonales de blocs de mémorisation, chaque bloc disposant d'autant de lignes de mots que de colonnes de mots. L'utilisation d'un algorithme d'écriture par bloc permet de s'affranchir de la forme de la matrice de mémorisation. L'invention sera mieux comprise et d'autres particularités et avantages apparaîtront à la lecture de In practical terms, the second words are written on the diagonals of memory blocks, each block having as many word lines as there are columns of words. The use of a block write algorithm makes it possible to dispense with the shape of the storage matrix. The invention will be better understood and other features and advantages will appear on reading
la description qui va suivre, la description faisant the description which follows, the description making
référence aux dessins annexés parmi lesquels: la figure 1 représente une mémoire carré et son contenu suivant l'état de la technique, les figures 2 et 3 représentent la répartition de ôrv i um données de test sur des matrices de type rectangulaire, reference to the appended drawings among which: FIG. 1 represents a square memory and its content according to the state of the art, FIGS. 2 and 3 represent the distribution of ôrv i um test data on matrices of rectangular type,
selon l'état de la technique.according to the state of the art.
la figure 4 représente une répartition de données Figure 4 shows a distribution of data
de test sur une mémoire, selon l'invention. test on a memory according to the invention.
les figures 5 et 6 représentent deux algorithmes de Figures 5 and 6 show two algorithms for
déroulement d'un test, selon l'invention. progress of a test according to the invention.
La figure 4 représente un exemple de motif de remplissage selon l'invention. Les colonnes 3 sont des FIG. 4 represents an example of filling pattern according to the invention. Columns 3 are
colonnes de. mots et non des colonnes de bits. columns of. words and not bit columns.
L'utilisation des colonnes de mots permet de réduire de manière considérable le nombre d'écritures à effectuer lorsque la matrice dispose de moins de lignes que de colonnes (le nombre d'écriture étant divisé dans ce cas The use of word columns makes it possible to considerably reduce the number of writes to be carried out when the matrix has fewer rows than columns (the number of writes being divided in this case
par la taille des mots).by the size of the words).
Sur la figure 4, l'homme du métier peut remarquer que l'on écrit des diagonales de mots qui peuvent paraître inutiles. Toutefois si la mémoire est configurable en deux tailles de mots par exemple 8 et 16 bits, cela revient à écrire en 16 bits, soit deux mots à la fois, la lecture de vérification s'effectuant en 8 bits. Il est également possible lorsque l'on utilise des mémoires à accès par page (64 mots de 8 bits) d'effectuer des écritures par page ce qui permet d'effectuer 4 ou 8 écritures (éventuellement plus) simultanément sur chaque ligne. L'homme du métier peut s'apercevoir que les écritures reviennent à tester la mémoire par blocs, chaque bloc utilisant un mot d'écriture différent. Le choix des mots n'est pas très important mais il faut éviter d'utiliser des mots identiques sur une même ligne In FIG. 4, the person skilled in the art can notice that we write diagonals of words which may seem useless. However, if the memory is configurable in two word sizes, for example 8 and 16 bits, this amounts to writing in 16 bits, ie two words at a time, the verification reading being carried out in 8 bits. It is also possible when using memories with access per page (64 words of 8 bits) to carry out writes per page which makes it possible to carry out 4 or 8 writes (possibly more) simultaneously on each line. A person skilled in the art can see that the writes amount to testing the memory in blocks, each block using a different writing word. The choice of words is not very important but you must avoid using identical words on the same line
o sur une même colonne.o on the same column.
De nombreux algorithmes de mise en oeuvre sont possibles. Les figures 5 et 6 représentent deux algorithmes donnés à titre d'exemple qui peuvent être Many implementation algorithms are possible. FIGS. 5 and 6 represent two algorithms given by way of example which can be
implémentés selon l'invention.implemented according to the invention.
La figure 5 représente un algorithme simple de mise en oeuvre. Dans cet algorithme, X correspond par exemple à un indice de colonne de mots et Y correspond par exemple à un indice de ligne de mots. Pour l'exemple illustré sur la figure 5, on suppose qu'un nombre maximal de lignes YMAX de mots est inférieur à un nombre maximal FIG. 5 represents a simple implementation algorithm. In this algorithm, X corresponds for example to a word column index and Y corresponds for example to a word line index. For the example illustrated in FIG. 5, it is assumed that a maximum number of YMAX lines of words is less than a maximum number
de colonnes XMAX de mots.XMAX columns of words.
Lors d'une première étape 50, on écrit la totalité des mots de la matrice de mémorisation avec un unique mot, par exemple le mot de huit bits codé h00 (le "h" signifiant qu'il s'agit d'un mot codé en hexadécimal). Le déroulement de cette première étape 50 peut se faire mot par mot, page par page ou de manière globale suivant les During a first step 50, all of the words of the storage matrix are written with a single word, for example the eight-bit coded word h00 (the "h" signifying that it is a coded word in hexadecimal). The progress of this first step 50 can be done word by word, page by page or globally according to the
possibilités offertes par la mémoire à tester. possibilities offered by the memory to be tested.
Après la première étape 50, on exécute une deuxième étape 51. Lors de cette deuxième étape 51, on initialise un mot à écrire de huit bits, par exemple, à la valeur hO1, un indice de colonne X de mot, par exemple à 0, et After the first step 50, a second step 51 is executed. During this second step 51, an eight-bit word to write, for example, is initialized at the value hO1, a column column index X of a word, for example at 0 , and
un indice de ligne Y de mot, par exemple à 0. a word line index Y, for example 0.
Puis, on rentre dans une boucle d'écriture qui commence par un premier test 52. Le premier test 52 compare l'indice de colonne X avec le nombre maximal de colonnes XMAX. Si l'indice de colonne X est inférieur au nombre maximal de colonnes XMAX, alors on effectue un deuxième test 53. Si l'indice de colonne X n'est pas inférieur au nombre maximal de colonnes XMAX, alors on Then, we enter a writing loop which begins with a first test 52. The first test 52 compares the index of column X with the maximum number of columns XMAX. If the index of column X is less than the maximum number of columns XMAX, then a second test 53 is carried out. If the index of column X is not less than the maximum number of columns XMAX, then we
effectue une troisième étape 54.performs a third step 54.
Le deuxième test 53 compare l'indice de ligne Y avec le nombre maximal de lignes YMAX. Si l'indice de ligne Y est inférieur au nombre maximal de lignes YMAX, alors on effectue une quatrième étape 55. Si l'indice de ligne Y n'est pas inférieur au nombre maximal de lignes YMAX, alors on effectue une cinquième étape 56 avant The second test 53 compares the row index Y with the maximum number of rows YMAX. If the line index Y is less than the maximum number of lines YMAX, then a fourth step 55 is carried out. If the line index Y is not less than the maximum number of lines YMAX, then a fifth step 56 is carried out before
d'effectuer la quatrième étape 55. perform the fourth step 55.
La troisième étape 54 consiste en la vérification des écritures dans la matrice de mémorisation. Cette 11i troisième étape 54 revient à lire tous les mots de la matrice de mémorisation afin de vérifier que la lecture du contenu correspond à ce qui a été écrit. Si la lecture de toute la mémoire est correcte, alors la mémoire est reconnue valide, sinon, la mémoire est reconnue non The third step 54 consists in verifying the writes in the storage matrix. This third step 54i amounts to reading all the words in the storage matrix in order to verify that the reading of the content corresponds to what has been written. If the reading of all the memory is correct, then the memory is recognized valid, if not, the memory is recognized not
opérationnelle. La troisième étape 54 termine le test. operational. The third step 54 ends the test.
Lors de la quatrième étape 55, on écrit le mot à écrire à l'emplacement de mémorisation qui correspond à la ligne de mot d'indice Y courant et à la colonne de mot In the fourth step 55, the word to be written is written to the storage location which corresponds to the word line with current index Y and to the word column
d'indice X courant.of current index X.
Lors de la cinquième étape 56, on initialise à 0 l'indice de ligne Y et on incrémente le mot à écrire During the fifth step 56, the line index Y is initialized to 0 and the word to be written is incremented
d'une unité.of a unit.
Après avoir exécuté la quatrième étape 55, on effectue une sixième étape 57. La sixième étape 57 consiste en la mise à jour des indices de ligne Y et de colonne X. Les indices de ligne Y et de colonne sont alors incrémentés d'une unité chacun. A l'issue de cette After having executed the fourth step 55, a sixth step 57 is carried out. The sixth step 57 consists in updating the indices of row Y and of column X. The indices of row Y and of column are then incremented by one each. At the end of this
sixième étape, on effectue à nouveau le premier test 52. sixth step, the first test 52 is carried out again.
Cet exemple simple de mise en oeuvre peut subir de nombreuses modifications sans pour autant sortir du cadre de l'invention. Si le nombre maximal de lignes YMAX est supérieur au nombre maximal de colonnes XMAX, il convient d'échanger les indices de ligne et de colonne pour avoir This simple example of implementation can undergo numerous modifications without departing from the scope of the invention. If the maximum number of YMAX rows is greater than the maximum number of XMAX columns, the row and column indices must be exchanged to have
un algorithme d'écriture de durée réduite. a writing algorithm of reduced duration.
De même, les différentes valeurs numériques sont arbitraires. En effet, pendant la première étape 50, on peut très bien initialiser la matrice avec une autre valeur numérique, à condition de ne pas utiliser cette Likewise, the different numerical values are arbitrary. Indeed, during the first step 50, one can very well initialize the matrix with another numerical value, on condition of not using this
valeur numérique comme mot à écrire par la suite. numeric value as a word to write later.
Préférentiellement, on utilise soit la valeur hOO, soit la valeur hFF pour cette première étape car certaines mémoires permettent d'avoir une mise à "1" ou une mise à Preferably, either the value hOO or the value hFF is used for this first step since certain memories allow a setting to "1" or a setting to
"0"' globale pour tous les bits de mémorisation. "0" 'global for all the storage bits.
En ce qui concerne le mot à écrire, il a été choisi dans l'exemple de la figure 5 de l'initialiser à hOl puis de l'incrémenter. Tout autre valeur d'initialisation, ainsi que tout autre mode de changement de mot à écrire autre qu'une simple incrémentation est possible. Il convient de ne pas écrire deux fois le même mot sur une même ligne ou dans une même colonne. Lors de la deuxième étape 51 les indices de ligne et de colonne sont initialisés à 0. il est tout à fait possible d'utiliser une autre initialisation, par exemple Y = 3. Dans ce cas, les diagonales de matrice carré ne correspondront pas au motif inscrit. De même, on peut incrémenter Y de trois unités au lieu de une unité, mais With regard to the word to be written, it was chosen in the example of FIG. 5 to initialize it with hOl then to increment it. Any other initialization value, as well as any other mode of changing the word to write other than a simple incrementation is possible. Do not write the same word twice on the same line or in the same column. During the second step 51, the row and column indices are initialized to 0. it is quite possible to use another initialization, for example Y = 3. In this case, the diagonals of square matrix will not correspond to the registered motif. Likewise, you can increment Y by three units instead of one unit, but
le motif ne correspondra plus à des diagonales. the pattern will no longer correspond to diagonals.
Préférentiellement on utilise les diagonales de blocs de mots carrés (autant de lignes de mots que de colonnes de mots) de la matrice de mémorisation afin de simplifier Preferably, the diagonals of square word blocks (as many word lines as word columns) of the storage matrix are used in order to simplify
les algorithmes de traitement.processing algorithms.
Il est aussi possible d'initialiser les indices X et Y aux valeurs respectives XMAX et YMAX et de décrémenter les indices X et Y. Bien entendu, il faut également effectuer les tests des indices en les It is also possible to initialize the indices X and Y to the respective values XMAX and YMAX and to decrement the indices X and Y. Of course, it is also necessary to carry out the tests of the indices by them
comparant à zéro.comparing to zero.
Egalement, il a été représenté une mémoire utilisant des mots de huit bits, l'invention est tout à fait transposable sur des mémoires organisées en mots de Also, a memory has been shown using words of eight bits, the invention is completely transposable on memories organized in words of
tailles différentes.different sizes.
Bien entendu, l'algorithme de la figure 5 peut être amélioré. En effet si l'on dispose d'une mémoire ayant un accès configurable selon au moins deux tailles de mots différentes, il conviendra d'écrire avec des mots de la taille la plus grande et de lire la mémoire avec des mots de la taille la plus petite. Dans ce cas, il convient Of course, the algorithm of Figure 5 can be improved. Indeed, if you have a memory with configurable access according to at least two different word sizes, you will have to write with words of the largest size and read the memory with words of the size smaller. In this case,
d'avoir un mot séparable en deux mots distincts. to have a word separable into two distinct words.
Préférentiellement, si la mémoire est configurable selon deux tailles de mots, alors on utilise un mot séparable Preferably, if the memory is configurable according to two word sizes, then a separable word is used
en deux mots complémentaires.in two complementary words.
La figure 6 représente un algorithme de mise en 7:I,- 1 un oeuvre utilisant un découpage en bloc de la mémoire. Cet algorithme est particulièrement intéressant lorsque la mémoire dispose d'un mode d'écriture par page. Dans cet algorithme, X correspond par exemple à un indice de colonne de mots et Y correspond par exemple à un indice de ligne de mots. Pour l'exemple illustré sur la figure 6, on suppose qu'un nombre maximal de lignes YMAX de mots est supérieur à une taille de bloc (un nombre maximal de colonnes XMAX de mots étant un multiple de la taille de FIG. 6 represents an algorithm for setting in 7: I, - 1 a work using a block cutting of the memory. This algorithm is particularly interesting when the memory has a writing mode per page. In this algorithm, X corresponds for example to a word column index and Y corresponds for example to a word line index. For the example illustrated in FIG. 6, it is assumed that a maximum number of YMAX rows of words is greater than a block size (a maximum number of XMAX columns of words being a multiple of the size of
bloc, par exemple à l'aide d'un coefficient huit). block, for example using a coefficient eight).
Lors d'une première étape 60, on écrit la totalité des mots de la matrice de mémorisation avec un unique mot, par exemple le mot de huit bits codé hFF. Le déroulement de cette première étape 60 peut se faire suivant différentes possibilités, comme expliqué pour During a first step 60, all of the words of the storage matrix are written with a single word, for example the eight bit word coded hFF. The course of this first step 60 can be done according to different possibilities, as explained for
l'étape 50.step 50.
Après la première étape 60, on exécute une deuxième étape 61. Lors de cette deuxième étape 61, on initialise des premier à huitième mots de huit bits, par exemple aux valeurs respectives hOl, h03, h07, hOF, hFE, hFC, hF8 et hFO, un indice de colonne X de mot, par exemple à 0, et After the first step 60, a second step 61 is executed. During this second step 61, initial first to eighth words of eight bits are initialized, for example at the respective values hOl, h03, h07, hOF, hFE, hFC, hF8 and hFO, a word column X index, for example 0, and
un indice de ligne Y de mot, par exemple à 0. a word line index Y, for example 0.
Puis on rentre dans une boucle d'écriture qui commence par un premier test 62. Le premier test 62 compare l'indice de ligne Y avec le nombre maximal de lignes YMAX. Si l'indice de ligne Y est inférieur au nombre maximal de lignes YMAX, alors on effectue un deuxième test 63. Si l'indice de ligne Y n'est pas inférieur au nombre maximal de lignes YMAX, alors on Then we enter a write loop which begins with a first test 62. The first test 62 compares the row index Y with the maximum number of rows YMAX. If the line index Y is less than the maximum number of lines YMAX, then a second test is performed 63. If the line index Y is not less than the maximum number of lines YMAX, then we
effectue une troisième étape 64.performs a third step 64.
Le deuxième test 63 compare l'indice de colonne X avec la taille de bloc. Si l'indice de colonne X est inférieur à la taille de bloc, alors on effectue une quatrième étape 65. Si l'indice de colonne X n'est pas inférieur à la taille de bloc, alors on effectue une cinquième étape 66 avant d'effectuer la quatrième étape 65. La troisième étape 64 consiste en la vérification des écritures dans la matrice de mémorisation. Cette troisième étape 64 est identique à l'étape 54 précédemment décrite. La troisième étape 64 termine le test. Lors de la quatrième étape 65, on écrit les premier à huitième mots aux emplacements de mémorisation qui correspondent d'une part à la ligne de mot d'indice Y courant et d'autre part, respectivement, à la colonne de mot d'indice X courant, à la colonne de mot d'indice X courant additionné de la taille de bloc, à la colonne de mot d'indice X courant additionné de deux fois la taille de bloc, à la colonne de mot d'indice X courant additionné de trois fois la taille de bloc, à la colonne de mot d'indice X courant additionné de quatre fois la taille de bloc, à la colonne de mot d'indice X courant additionné de cinq fois la taille de bloc, à la colonne de mot d'indice X courant additionné de six fois la taille de bloc, et à la colonne de mot d'indice X courant additionné de sept fois la taille de bloc. Bien évidemment si la mémoire dispose d'un mode d'écriture par page, cela revient à n'effectuer qu'une seule écriture de page. Si la mémoire ne dispose pas de mode d'écriture par page, l'écriture de plusieurs blocs peut correspondre à une perte de temps, notamment si le nombre maximal de lignes de mots YMAX est supérieur au nombre maximal de The second test 63 compares the index of column X with the block size. If the column index X is less than the block size, then a fourth step 65 is carried out. If the column index X is not less than the block size, then a fifth step 66 is carried out before d 'Carry out the fourth step 65. The third step 64 consists of checking the writes in the storage matrix. This third step 64 is identical to step 54 previously described. The third step 64 ends the test. During the fourth step 65, the first to eighth words are written to the storage locations which correspond on the one hand to the current word line of index Y and on the other hand, respectively, to the column of index word Current X, to the index word column X current added to the block size, to the index word column X current added to twice the block size, to the word column to the current index X added sum three times the block size, to the word column with the current index X added four times the block size, to the word column with the current index X added five times the block size, to the column word of current index X added six times the block size, and to the column of word of current index X added seven times the block size. Obviously if the memory has a writing mode per page, this amounts to performing only one page writing. If the memory does not have a writing mode per page, writing several blocks can correspond to a waste of time, especially if the maximum number of lines of YMAX words is greater than the maximum number of
colonnes de mots XMAX.XMAX word columns.
Lors de la cinquième étape 66, on initialise à 0 l'indice de colonne X et on change les premier à huitième mots. Le changement des premier à huitième mots peut s'effectuer de différentes manières, par exemple par un décalage d'un bit de chacun des mots. Ce qui importe dans le changement des mots, c'est d'une part de changer chacun des premier à huitième mots de telle sorte que, d'une part, les huit mots soient différents les uns des autres, et d'autre part, chacun des premier à huitième mots n'aient pas été déjà utilisés, précédemment et During the fifth step 66, the column index X is initialized to 0 and the first to eighth words are changed. The first to eighth words can be changed in different ways, for example by shifting one bit of each word. What matters in changing words is, on the one hand, to change each of the first to eighth words so that, on the one hand, the eight words are different from each other, and on the other hand, each of the first to eighth words have not been used previously, and
respectivement, comme premier à huitième mots. respectively, as first to eighth words.
Préférentiellement, on n'utilise pas plus d'une fois un mot dans une matrice. Après avoir exécuté la quatrième étape 65, on effectue une sixième étape 67. La sixième étape 67 consiste en la mise à jour des indices de ligne Y et de colonne X. Les indices de ligne Y et de colonne sont alors incrémentés d'une unité chacun. A l'issue de cette Preferably, a word is not used more than once in a matrix. After having carried out the fourth step 65, a sixth step 67 is carried out. The sixth step 67 consists in updating the indices of row Y and of column X. The indices of row Y and of column are then incremented by one each. At the end of this
sixième étape, on effectue à nouveau le premier test 62. sixth step, the first test 62 is carried out again.
Cet exemple de mise en oeuvre peut subir de nombreuses modifications sans pour autant sortir du cadre de l'invention. Notamment toutes les indications de modifications présentées pour l'algorithme de la figure 5 sont valables pour l'algorithme de la figure 6. L'homme du métier peut noter que si l'on effectue l'algorithme de la figure 6 en ayant une taille de bloc égale à XMAX et si l'on n'utilise qu'un mot à écrire alors on se retrouve dans la situation de l'algorithme de la figure 5, en This example of implementation can undergo numerous modifications without departing from the scope of the invention. In particular, all the indications of modifications presented for the algorithm of FIG. 5 are valid for the algorithm of FIG. 6. Those skilled in the art can note that if the algorithm of FIG. 6 is carried out with a size of block equal to XMAX and if one uses only one word to write then one finds oneself in the situation of the algorithm of figure 5, in
ayant les lignes et les colonnes de mots inversées. having the rows and columns of words reversed.
Par analogie également, si l'on dispose d'une mémoire ayant un accès avec plusieurs tailles de mots et pas de mode d'écriture par page, on peut effectuer l'algorithme de la figure 6 en prenant comme nombre de mots à écrire le rapport entre la plus grande et la plus petite taille de mot, la taille de bloc découlant de la division du nombre de mots de taille minimale se situant By analogy also, if one has a memory having an access with several sizes of words and no writing mode per page, one can carry out the algorithm of figure 6 by taking as number of words to write the ratio between the largest and the smallest word size, the block size resulting from the division of the number of words of minimum size being
sur une même ligne divisé par le nombre de mots à écrire. on the same line divided by the number of words to write.
Claims (9)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9815786A FR2787233B1 (en) | 1998-12-11 | 1998-12-11 | METHOD FOR VERIFYING THE INTEGRITY OF THE DECODING CIRCUITS OF A MEMORY |
US09/452,446 US6212112B1 (en) | 1998-12-11 | 1999-12-02 | Method to verify the integrity of the decoding circuits of a memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9815786A FR2787233B1 (en) | 1998-12-11 | 1998-12-11 | METHOD FOR VERIFYING THE INTEGRITY OF THE DECODING CIRCUITS OF A MEMORY |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2787233A1 true FR2787233A1 (en) | 2000-06-16 |
FR2787233B1 FR2787233B1 (en) | 2001-02-16 |
Family
ID=9533964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9815786A Expired - Fee Related FR2787233B1 (en) | 1998-12-11 | 1998-12-11 | METHOD FOR VERIFYING THE INTEGRITY OF THE DECODING CIRCUITS OF A MEMORY |
Country Status (2)
Country | Link |
---|---|
US (1) | US6212112B1 (en) |
FR (1) | FR2787233B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2851075A1 (en) * | 2003-02-11 | 2004-08-13 | St Microelectronics Sa | Decoding circuit and associated memory integrity testing process, involves writing words in memory cell and comparing with original words where each memory cells receives corresponding set of different words |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6961567B1 (en) * | 2000-12-07 | 2005-11-01 | Palm, Inc. | Generic activation and registration framework for wireless devices |
TW567500B (en) * | 2002-07-09 | 2003-12-21 | Spirox Corp | Diagonal test method of flash memory |
US7646645B2 (en) * | 2007-04-13 | 2010-01-12 | Atmel Corporation | Method and apparatus for testing the functionality of a page decoder |
US10275243B2 (en) | 2016-07-02 | 2019-04-30 | Intel Corporation | Interruptible and restartable matrix multiplication instructions, processors, methods, and systems |
WO2018174928A1 (en) | 2017-03-20 | 2018-09-27 | Intel Corporation | Systems, methods, and apparatuses for zeroing a matrix |
WO2019009870A1 (en) | 2017-07-01 | 2019-01-10 | Intel Corporation | Context save with variable save state size |
US11809869B2 (en) | 2017-12-29 | 2023-11-07 | Intel Corporation | Systems and methods to store a tile register pair to memory |
US11023235B2 (en) | 2017-12-29 | 2021-06-01 | Intel Corporation | Systems and methods to zero a tile register pair |
US11789729B2 (en) | 2017-12-29 | 2023-10-17 | Intel Corporation | Systems and methods for computing dot products of nibbles in two tile operands |
US11816483B2 (en) | 2017-12-29 | 2023-11-14 | Intel Corporation | Systems, methods, and apparatuses for matrix operations |
US11093247B2 (en) | 2017-12-29 | 2021-08-17 | Intel Corporation | Systems and methods to load a tile register pair |
US11669326B2 (en) | 2017-12-29 | 2023-06-06 | Intel Corporation | Systems, methods, and apparatuses for dot product operations |
US10664287B2 (en) | 2018-03-30 | 2020-05-26 | Intel Corporation | Systems and methods for implementing chained tile operations |
US11093579B2 (en) | 2018-09-05 | 2021-08-17 | Intel Corporation | FP16-S7E8 mixed precision for deep learning and other algorithms |
US11579883B2 (en) | 2018-09-14 | 2023-02-14 | Intel Corporation | Systems and methods for performing horizontal tile operations |
US10970076B2 (en) | 2018-09-14 | 2021-04-06 | Intel Corporation | Systems and methods for performing instructions specifying ternary tile logic operations |
US10990396B2 (en) | 2018-09-27 | 2021-04-27 | Intel Corporation | Systems for performing instructions to quickly convert and use tiles as 1D vectors |
US10719323B2 (en) | 2018-09-27 | 2020-07-21 | Intel Corporation | Systems and methods for performing matrix compress and decompress instructions |
US10866786B2 (en) | 2018-09-27 | 2020-12-15 | Intel Corporation | Systems and methods for performing instructions to transpose rectangular tiles |
US10929143B2 (en) | 2018-09-28 | 2021-02-23 | Intel Corporation | Method and apparatus for efficient matrix alignment in a systolic array |
US10896043B2 (en) | 2018-09-28 | 2021-01-19 | Intel Corporation | Systems for performing instructions for fast element unpacking into 2-dimensional registers |
US10963256B2 (en) | 2018-09-28 | 2021-03-30 | Intel Corporation | Systems and methods for performing instructions to transform matrices into row-interleaved format |
US10963246B2 (en) | 2018-11-09 | 2021-03-30 | Intel Corporation | Systems and methods for performing 16-bit floating-point matrix dot product instructions |
US10929503B2 (en) | 2018-12-21 | 2021-02-23 | Intel Corporation | Apparatus and method for a masked multiply instruction to support neural network pruning operations |
US11294671B2 (en) | 2018-12-26 | 2022-04-05 | Intel Corporation | Systems and methods for performing duplicate detection instructions on 2D data |
US11886875B2 (en) | 2018-12-26 | 2024-01-30 | Intel Corporation | Systems and methods for performing nibble-sized operations on matrix elements |
US20200210517A1 (en) | 2018-12-27 | 2020-07-02 | Intel Corporation | Systems and methods to accelerate multiplication of sparse matrices |
US10922077B2 (en) | 2018-12-29 | 2021-02-16 | Intel Corporation | Apparatuses, methods, and systems for stencil configuration and computation instructions |
US10942985B2 (en) | 2018-12-29 | 2021-03-09 | Intel Corporation | Apparatuses, methods, and systems for fast fourier transform configuration and computation instructions |
US11016731B2 (en) | 2019-03-29 | 2021-05-25 | Intel Corporation | Using Fuzzy-Jbit location of floating-point multiply-accumulate results |
US11269630B2 (en) | 2019-03-29 | 2022-03-08 | Intel Corporation | Interleaved pipeline of floating-point adders |
US10990397B2 (en) | 2019-03-30 | 2021-04-27 | Intel Corporation | Apparatuses, methods, and systems for transpose instructions of a matrix operations accelerator |
US11175891B2 (en) | 2019-03-30 | 2021-11-16 | Intel Corporation | Systems and methods to perform floating-point addition with selected rounding |
US11403097B2 (en) | 2019-06-26 | 2022-08-02 | Intel Corporation | Systems and methods to skip inconsequential matrix operations |
US11334647B2 (en) | 2019-06-29 | 2022-05-17 | Intel Corporation | Apparatuses, methods, and systems for enhanced matrix multiplier architecture |
US11714875B2 (en) | 2019-12-28 | 2023-08-01 | Intel Corporation | Apparatuses, methods, and systems for instructions of a matrix operations accelerator |
US11972230B2 (en) | 2020-06-27 | 2024-04-30 | Intel Corporation | Matrix transpose and multiply |
US11941395B2 (en) | 2020-09-26 | 2024-03-26 | Intel Corporation | Apparatuses, methods, and systems for instructions for 16-bit floating-point matrix dot product instructions |
US12001887B2 (en) | 2020-12-24 | 2024-06-04 | Intel Corporation | Apparatuses, methods, and systems for instructions for aligning tiles of a matrix operations accelerator |
US12001385B2 (en) | 2020-12-24 | 2024-06-04 | Intel Corporation | Apparatuses, methods, and systems for instructions for loading a tile of a matrix operations accelerator |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4223532A1 (en) * | 1992-07-17 | 1994-01-20 | Philips Patentverwaltung | Circuit arrangement for checking the addressing of at least one matrix |
US5490115A (en) * | 1994-07-29 | 1996-02-06 | Cypress Semiconductor Corp. | Method and apparatus for writing to memory cells in a minimum number of cycles during a memory test operation |
US5996106A (en) * | 1997-02-04 | 1999-11-30 | Micron Technology, Inc. | Multi bank test mode for memory devices |
US5954831A (en) * | 1997-10-08 | 1999-09-21 | Ects Inc. | Method for testing a memory device |
-
1998
- 1998-12-11 FR FR9815786A patent/FR2787233B1/en not_active Expired - Fee Related
-
1999
- 1999-12-02 US US09/452,446 patent/US6212112B1/en not_active Expired - Fee Related
Non-Patent Citations (3)
Title |
---|
"HIGH COVERAGE THREE-PATTERN DRAM TEST", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 36, no. 2, 1 February 1993 (1993-02-01), pages 225 - 228, XP000354318, ISSN: 0018-8689 * |
BAPPERT J. ET AL: "Memory testing", IBM TECHNICAL DISCLOSURE BULLETIN., vol. 19, no. 5, October 1976 (1976-10-01), IBM CORP. NEW YORK., US, pages 1621, XP002116220, ISSN: 0018-8689 * |
VAN DE GOOR A J ET AL: "LOCATING BRIDGING FAULTS IN MEMORY ARRAYS", PROCEEDINGS OF THE INTERNATIONAL TEST CONFERENCE, NASHVILLE, OCT. 28 - 30, 1991, 1 January 1991 (1991-01-01), INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, pages 685 - 694, XP000272306, ISBN: 0-8186-9156-5 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2851075A1 (en) * | 2003-02-11 | 2004-08-13 | St Microelectronics Sa | Decoding circuit and associated memory integrity testing process, involves writing words in memory cell and comparing with original words where each memory cells receives corresponding set of different words |
Also Published As
Publication number | Publication date |
---|---|
US6212112B1 (en) | 2001-04-03 |
FR2787233B1 (en) | 2001-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2787233A1 (en) | Verifying integrity of decoding circuits of memory matrix by performing at least N or M writing of second words in storage in such way that every line and every column has at least registered second word | |
EP0666572B1 (en) | Non volatile programmable flip-flop with predefined initial state, especially for memory redundancy circuit | |
EP0666573B1 (en) | Non volatile flip-flop, programmed via the source, especially for memory redundancy circuit | |
EP0918336B1 (en) | Electrically programmable and erasable non volatile memory with read- and/or write protection and incorporated electronical system | |
FR2609175A1 (en) | Integrated circuit card and system for checking that the card is functioning correctly | |
EP0151653A1 (en) | Series-parallel/parallel-series device for variable bit length configuration | |
EP0334763B1 (en) | Method of testing a fleeting programmable memory, and this memory | |
EP0712133A1 (en) | Method of anticipated reading of a serial accessed memory and related memory | |
FR2710445A1 (en) | Dynamic redundancy circuit for integrated circuit memory. | |
CN1218961A (en) | Method for detecting memory unit | |
EP0298002B1 (en) | Transposition memory for a data processing circuit | |
FR2693574A1 (en) | Method for testing the operation of a specialized integrated circuit, and specialized integrated circuit relating thereto. | |
FR2824415A1 (en) | SYSTEM AND METHOD FOR REMOVING MEMORY DAMAGE FROM FAILURE MEMORY CELLS | |
FR2611301A1 (en) | Integrated memory with data column redundancy | |
FR2871976A1 (en) | LDPC DECODER | |
EP3080813B1 (en) | System for managing the wear of an electronic memory | |
US8717838B1 (en) | Method and apparatus for memory redundancy | |
EP0470897A1 (en) | Integrated memory circuit with redundancy and improved addressing in test mode | |
KR900008517A (en) | Dynamic semiconductor memory device and its functional test device and test method | |
FR2843208A1 (en) | Electronic circuit repair, e.g. for memory circuits, whereby electronic modules are sub-divided into parts so that test results are relative to module parts rather than whole modules, thus reducing the redundant circuit surface | |
EP0407311B1 (en) | Data shuffling circuit | |
EP1542130B1 (en) | Serial memory comprising an extended memory space integration means | |
EP0938095B1 (en) | Programmable non-volatile memory and programming method thereof | |
JPH08212795A (en) | Integrated circuit random-access memory | |
EP0536026A1 (en) | Test method for multiport memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20070831 |