FR2964211A1 - Dispositif de controle d'acces a des memoires simple port - Google Patents

Dispositif de controle d'acces a des memoires simple port Download PDF

Info

Publication number
FR2964211A1
FR2964211A1 FR1056876A FR1056876A FR2964211A1 FR 2964211 A1 FR2964211 A1 FR 2964211A1 FR 1056876 A FR1056876 A FR 1056876A FR 1056876 A FR1056876 A FR 1056876A FR 2964211 A1 FR2964211 A1 FR 2964211A1
Authority
FR
France
Prior art keywords
memory
address
blocks
words
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1056876A
Other languages
English (en)
Other versions
FR2964211B1 (fr
Inventor
Cedric Minne
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics Crolles 2 SAS
Original Assignee
STMicroelectronics Crolles 2 SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by STMicroelectronics Crolles 2 SAS filed Critical STMicroelectronics Crolles 2 SAS
Priority to FR1056876A priority Critical patent/FR2964211B1/fr
Priority to US13/221,587 priority patent/US8671262B2/en
Publication of FR2964211A1 publication Critical patent/FR2964211A1/fr
Application granted granted Critical
Publication of FR2964211B1 publication Critical patent/FR2964211B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Static Random-Access Memory (AREA)

Abstract

L'invention concerne une mémoire et un procédé de commande d'une mémoire comportant : un ensemble de premiers blocs mémoire (10 ) de taille identique entre eux, destinés à contenir des premiers mots, un ensemble de deuxièmes blocs mémoire (14 ) de taille identique entre eux, destinés à contenir des deuxièmes mots, le nombre de deuxièmes mots étant identique au nombre de premiers mots, un troisième bloc mémoire (12) identique aux premiers blocs (10 ), un quatrième bloc mémoire (16) identique aux deuxièmes blocs (14 ), chaque adresse de la mémoire comportant une première partie (18) identifiant un premier bloc (10 ) et une deuxième partie (19) identifiant une même ligne dans tous les blocs, et chaque premier mot du troisième bloc (12) identifiant un mot libre parmi les deuxièmes mots partageant une même deuxième partie d'adresse (19).

Description

B10371 - 10-GR3-114 1 DISPOSITIF DE CONTRÔLE D'ACCÈS À DES MÉMOIRES SIMPLE PORT
Domaine de l'invention La présente invention concerne de façon générale les dispositifs et procédés de traitement des accès à des mémoires, que celles-ci soient autonomes ou embarquées dans des circuits électroniques comportant d'autres fonctions tels que, par exemple, des circuits de contrôle de réseaux de transmission de données numériques ou des circuits de traitement d'images.
Exposé de l'art antérieur Généralement, les circuits électroniques nécessitent une capacité importante de stockage d'information. Cette capacité est atteinte avec des mémoires de grande taille composées de plusieurs blocs mémoire pour des raisons physiques ou logiques. Par exemple, ces mémoires sont uniquement de type SRAM (Static Random-Access Memory) ou de type DRAM (Dynamic Access Memory). Un contrôleur de la mémoire permet aux autres fonctions du circuit électronique de voir l'ensemble des blocs mémoire comme une seule mémoire, en terme d'adresse. En général les blocs mémoire sont à architecture simple port. En d'autres termes, vu des autres fonctions du circuit électronique, un bloc simple port ne peut réaliser qu'une opération de lecture ou une opération d'écriture au même B10371 - 10-GR3-114
2 instant. Cette architecture de bloc mémoire permet de s'affranchir d'architectures mémoire trop complexes ou trop couteuses en surface de circuit. Néanmoins, il est parfois souhaitable que certaines fonctions du circuit électronique effectuent une opération de lecture et une opération d'écriture simultanément et sans contrainte d'adresses. Une solution connue à ce problème est d'utiliser des mémoires double port capables d'effectuer deux opérations au même instant. Les inconvénients des mémoires double port sont leurs faibles densités et des temps d'accès élevés. Ces mémoires sont donc peu adaptées au stockage de mots d'information de grande taille. Une autre solution connue à ce problème est d'utiliser des blocs mémoire réalisant des opérations à une fréquence d'horloge au moins double de celle du circuit externe. Un inconvénient de cette solution est qu'il faut disposer de blocs mémoire supportant une fréquence élevée et que la surface occupée par de tels blocs est importante. Un autre inconvénient d'une telle solution est que le circuit doit être conçu pour pouvoir fonctionner avec plusieurs fréquences d'horloge. Une autre solution connue à ce problème est de retarder les opérations conflictuelles, telles une lecture et une écriture simultanée dans le même bloc mémoire. Un inconvénient de cette solution est qu'il faut disposer d'un espace mémoire supplémentaire, pour stocker temporairement les données en écriture à l'origine du conflit. Pour se protéger du pire cas, pour lequel chaque adresse d'un bloc mémoire sera successivement lue puis écrite, cet espace mémoire supplémentaire doit avoir la même taille que la mémoire initiale. Un autre inconvénient de cette solution est que le traitement (écriture) des données stockées dans l'espace mémoire supplémentaire peut bloquer l'accès à la mémoire pendant un temps donné.
B10371 - 10-GR3-114 Résumé Un objet d'un mode de réalisation de la présente invention est de proposer une mémoire composée d'un contrôleur et plusieurs blocs mémoire palliant tout ou partie des inconvénients des dispositifs connus. Un autre objet d'un mode de réalisation est de permettre d'effectuer des opérations simultanées dans des blocs mémoire simple port. Pour atteindre tout ou partie de ces objets ainsi que 10 d'autres, un mode de réalisation de la présente invention prévoit une mémoire comportant : - un ensemble de premiers blocs mémoire de taille identique entre eux, destinés à contenir des premiers mots, - un ensemble de deuxièmes blocs mémoire de taille 15 identique entre eux, destinés à contenir des deuxièmes mots, le nombre de deuxièmes mots étant identique au nombre de premiers mots, - un troisième bloc mémoire identique aux premiers blocs, et 20 - un quatrième bloc mémoire identique aux deuxièmes blocs, chaque adresse de la mémoire comportant une première partie identifiant un premier bloc et une deuxième partie identifiant une même ligne dans tous les blocs, et chaque 25 premier mot du troisième bloc identifiant un mot libre parmi les deuxièmes mots partageant une même deuxième partie d'adresse. On prévoit également un procédé de commande d'une mémoire comportant, en cas de lecture et écriture simultanées, une étape de comparaison de premiers mots. 30 On prévoit également un procédé de commande comportant en outre une étape de lecture du troisième bloc identifiant un bloc comportant un mot libre, parmi les deuxièmes et quatrième blocs. 3 B10371 - 10-GR3-114
4 On prévoit également un procédé de commande comportant en outre une étape de mise à jour des mots contenus dans les premiers et troisième blocs mémoire. On prévoit également un procédé de commande d'une 5 mémoire dans lequel ladite étape de comparaison est effectuée avant ladite étape de lecture. On prévoit également un procédé de commande d'une mémoire dans lequel, si les premiers mots de ladite étape de comparaison sont égaux, un mot est écrit à une adresse libre 10 d'un des deuxièmes et quatrième blocs. Brève description des dessins Ces objets, caractéristiques et avantages, ainsi que d'autres seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non-limitatif 15 en relation avec les figures jointes parmi lesquelles : la figure 1 représente, de façon très schématique et sous forme de blocs, un exemple de dispositif de gestion des accès à des blocs mémoire simple port ; la figure 2 illustre, à l'aide de blocs, une 20 architecture d'adressage dans la mémoire de la figure 1 ; la figure 3, 3A et 3B illustrent, sous formes de blocs, des exemples d'opérations de lecture et d'écriture dans une mémoire du type de celle de la figure 2 ; et la figure 4 représente un exemple d'organigramme 25 décrivant un mode de réalisation d'enchaînement des séquences exécutées par la mémoire selon un mode de mise en oeuvre de la présente invention. Description détaillée De même éléments ont été désignés par des mêmes 30 références aux différentes figures qui ont été tracées sans respect d'échelle. Pour des raisons de clarté, seuls les étapes et les éléments utiles à la compréhension de l'invention ont été représentés et seront décrits. La figure 1 représente sous forme de blocs une mémoire 35 5 comprenant : B10371 - 10-GR3-114
- un contrôleur 7 (CONTROLLER) ; - un ensemble 10 de tables de correspondance d'adresse (premiers blocs mémoire) 10i (i étant compris entre 1 et N), de taille identique entre elles, chaque 5 table contenant des mots d'adresse ; - un ensemble 14 de bancs (deuxièmes blocs mémoire à simple port) 14i (i variant entre 1 et N), de taille identique entre eux, chaque banc contenant des mots de données en nombre identique au nombre de mots d'adresse d'une table ; - une table de correspondance d'adresse supplémentaire 12 (troisième bloc mémoire) identique aux tables 10i ; et - un banc supplémentaire 16 (quatrième bloc mémoire) identique aux bancs 14i. Le contrôleur 7 est, par exemple, relié aux circuits réalisant les autres fonctions par des bus d'adresse 3 et de données 4, auxquels s'ajoutent un ou plusieurs bus de commande. Le contrôleur 7 peut aussi réaliser les opérations de codage et décodage d'adresse pour accéder aux bancs et aux tables. Le nombre de mots de données d'un banc et le nombre de mots d'adresse d'une table sont identiques. Une ligne identifie des mots d'adresse et de données de même rang dans les bancs et les tables.
Les tables 10 et 12 sont constituées de premiers et troisième blocs mémoire, par exemple, des blocs de mémoire simple port, des mémoires cache, etc. Les bancs 14 et 16 sont constitués de deuxièmes et quatrième blocs mémoire simple port. La figure 2 est une représentation plus détaillée d'une architecture d'adressage dans la mémoire 5 selon un mode de mise en oeuvre de la présente invention. L'adresse d'un mot de données stocké dans la mémoire 5 et manipulé par d'autres fonctions du circuit électronique est composée de deux parties 18 et 19. Cette adresse sera désignée par la suite comme l'adresse externe (adresse de la mémoire).
B10371 - 10-GR3-114
6 Une première partie 18 identifie une des tables de correspondance d'adresse 10i. Une deuxième partie 19 identifie une même ligne parmi les tables 10i, 12 et les bancs 14i et 16. En d'autres termes, l'information issue de la partie 18 désigne une table de correspondance d'adresse et l'information issue de la partie 19 désigne une ligne commune aux tables de correspondance d'adresse et aux bancs. Le mot d'adresse complet définit donc la position d'un mot de données dans un banc 14i ou 16. On cherche à réaliser un espace de stockage de grande taille accessible par l'extérieur comme une mémoire unique, mais en réalité composé de plusieurs blocs pour des raisons techniques. Vu de l'extérieur, on cherche à ce que la mémoire supporte des opérations de lecture et d'écriture simultanées, avec uniquement des blocs simple port.
Selon un mode de mise en oeuvre de la présente invention, l'ajout d'un bloc mémoire supplémentaire 16 permet de disposer d'une capacité de stockage supplémentaire de la taille d'un banc. L'ajout de la table de correspondance d'adresse supplémentaire 12 permet d'identifier le numéro du banc parmi les bancs 14i et 16 contenant un emplacement libre (mot libre) pour une ligne donnée. Les figures 3, 3A et 3B illustrent un exemple de mise en oeuvre de l'invention avec une mémoire composée de : - quatre bancs 14x, avec x compris entre 1 et 4 et 25 identifiant arbitrairement un banc (141 à 144 ou B1 à B4) ; - quatre tables d'adresse 10y, avec y compris entre 1 et 4 et identifiant arbitrairement une table (101 à 104 ou T1 à T4) ; 30 - un banc supplémentaire 16 (BSUpp) ; et - une table de correspondance d'adresse supplémentaire 12 (TLIBRE)- Chacun des bancs et des tables comportent cinq lignes, identifiées respectivement par des adresses ADp, avec p compris 35 entre 1 et 5 (AD1 à AD5).
B10371 - 10-GR3-114
7 Les figures 3 et 3A décrivent un exemple d'opérations simultanées de lecture et d'écriture, sans collision de banc, selon un mode de mise oeuvre de la présente invention. La figure 3 illustre les opérations affectant les bancs. La figure 3A illustre les opérations affectant les tables. Par exemple, on réalise les deux opérations suivantes simultanément : - lire la donnée située à l'adresse externe T2, AD3, à laquelle a été précédemment stockée une 10 donnée DATA-1 ; et - écrire une donnée DATA-2 à l'adresse externe T4, AD1. Dans un premier cycle dit d'acquisition : - on lit la table T2 à l'adresse AD3 (étape 100) 15 pour préparer l'opération de lecture, et on obtient B2 ; - on lit ensuite la table T4, à l'adresse AD1 (étape 102) pour préparer l'opération d'écriture, et on obtient B3 ; et 20 - on lit enfin la table 'LIBRE, à l'adresse AD1 (étape 104) pour disposer du numéro du banc contenant un emplacement libre sur la ligne AD1, et on obtient BSUPP- Comme le banc B2 issu de l'étape 100 est distinct du 25 banc B3 issu de l'étape 102, les opérations ne génèrent pas de collision. Dans un second cycle dit d'exécution : - on lit le banc B2 à l'adresse AD3 (étape 106), on obtient la donnée DATA-1 ; et 30 - on écrit la donnée DATA-2 dans le banc B3 à l'adresse AD1 (étape 108). La figure 3B illustre, en relation avec la figure 3, un exemple d'opérations simultanées de lecture et d'écriture, avec collision de banc. La figure 3B représente les opérations 35 affectant les tables.
B10371 - 10-GR3-114
8 Par exemple, on réalise les deux opérations suivantes simultanément : - lire une donnée située à l'adresse externe T4, AD1, à laquelle a été précédemment stockée la donnée DATA-2 ; et - écrire une donnée DATA-4 à l'adresse externe T3, AD5. Dans le cycle d'acquisition : - on lit la table T4 à l'adresse AD1 (étape 120) pour préparer l'opération de lecture, et on obtient B3 ; - on lit ensuite la table T3 à l'adresse AD5 (étape 122) pour préparer l'opération d'écriture, et on obtient B3 ; et - on lit enfin la table 'LIBRE à l'adresse AD5 (étape 124) pour disposer du numéro du banc contenant un emplacement libre sur la ligne AD5, et on obtient B1. Comme les numéros des bancs issus des étapes 120 et 122 sont identiques on détecte une collision. Dans le cycle d'exécution : - on lit le banc B3 à l'adresse AD1 (étape 126), on obtient la donnée DATA-2 ; - on écrit la donnée DATA-4 dans le banc B1 à l'adresse AD5 (étape 128) ; Dans un troisième cycle, dit de mise à jour des tables de correspondance d'adresse : - on écrit le numéro du banc B1 dans la table T3 à l'adresse AD5 (étape 130) ; - on écrit le numéro du banc B3 dans la table 'LIBRE à l'adresse AD5 (étape 132). Les opérations de codage et décodage d'adresse, de lecture et d'écriture sont réalisées par le contrôleur 7.
B10371 - 10-GR3-114
9 En variante, on peut effectuer systématiquement le troisième cycle, au prix d'une écriture supplémentaire parfois inutile de mise à jour des tables de correspondance d'adresse. En autre variante, et pour éviter une lecture parfois inutile, on peut lire la table 'LIBRE uniquement si on détecte une collision dans le premier cycle. La figure 4 représente un organigramme décrivant un exemple de séquence d'étapes exécutées par la mémoire 5 pour réaliser des opérations simultanées.
Le type d'opération (lecture, écriture) à réaliser dans la mémoire 5 et les adresses externes correspondantes lui sont communiquées au cours d'étapes 210 et 212. Dans les étapes 210 (OPRD(Tx, ADx)) et 212 (OPWR(Ty, ADy)), la mémoire 5 reçoit l'ordre d'exécuter simultanément une opération de lecture OPRD dans la table Tx à l'adresse ADx et une opération d'écriture OPWR dans la table Ty à l'adresse ADy. Ces opérations et adresses sont décodées par le contrôleur 7 pour accéder aux tables 10i, 12 et aux bancs 14i et 16. Le cycle d'acquisition se déroule dans des étapes 214 (OPRD(Tx, ADx) ->Bx ; OPRD (Ty, ADy) ->By) et 218 (OPRD ('LIBRE, ADy)->Bz) pour identifier les numéros des bancs correspondants. Dans l'étape 214, on lit la table Tx à l'adresse ADx et on obtient Bx. Puis, on lit la table Ty à l'adresse ADy et on obtient By. L'étape de lecture 218 de la table 'LIBRE à l'adresse ADy permet de disposer du numéro du banc libre BZ (avec Z compris entre 1 et 5) contenant l'emplacement d'un mot de données libre (mot libre) pour cette adresse (adresse libre). Dans une étape de comparaison 220 (Bx = By ?), on compare les rangs des bancs obtenus dans l'étape 214.
Si ce rang est différent (sortie N de l'étape 220), chaque opération est réalisée simultanément dans des bancs distincts, sans risque de collision. Dans ce cas, le cycle d'exécution comporte une étape 222 (OPRD(Bx, ADx)) de lecture d'un mot de données dans le banc Bx à l'adresse ADx, et une étape 224 (OPWR(By, ADy)) d'écriture B10371 - 10-GR3-114
10 d'un mot de données dans le banc By à l'adresse ADy. Le processus peut ensuite retourner dans l'étape 210. Si les numéros des bancs comparés dans l'étape 220 sont identiques (sortie Y), une collision est détectée. Les deux opérations devraient se dérouler dans le même banc, ce qui n'est pas réalisable avec des blocs mémoire simple port. La séquence se poursuit alors par un cycle d'exécution. Le cycle d'exécution comporte une étape 232 (OPRD(Bx, ADx)) de lecture d'un mot de données, identique à l'étape 222.
Une étape 234 (OPWR(BZ, ADy)) d'écriture d'un mot de données est effectuée dans le banc libre BZ (obtenu dans l'étape 218) à l'adresse ADy. Le cycle de mise à jour des tables de correspondance d'adresse permet, dans une étape 238 (BZ->OPWR(Ty, ADy)), de conserver le nouveau numéro de banc dans lequel est stocké le mot de données précédemment écrit dans l'étape 234. Le numéro du banc BZ est donc écrit dans la table Ty à l'adresse ADy. Dans une étape 240 (By->OPWR(TLIBRE, ADy)), on écrit le nouveau numéro de banc libre pour l'adresse ADy (By dans cet exemple) dans la table Ty. Le processus peut ensuite retourner dans l'étape 210. Dans certains cas, les accès aux tables peuvent conduire à des collisions. Par exemple, des accès simultanés à une même table en lecture et en écriture seront impossibles. Une solution est de réaliser une opération d'écriture, puis de réaliser des opérations de lecture sur les autres tables à l'adresse de ladite opération de lecture. On obtiendra une liste incomplète des numéros des bancs. L'ensemble des numéros des bancs est fini et connu, on déduit alors aisément le numéro de banc manquant. Ce numéro de banc manquant est le résultat de ladite opération de lecture. La mémoire décrite dans le mode de réalisation ci-dessus présente l'avantage d'être vue comme une mémoire double port alors qu'elle conserve l'avantage de la surface des blocs mémoire simple port.
B10371 - 10-GR3-114
11 Un autre avantage du mode de réalisation décrit est qu'il permet deux opérations d'écriture simultanées si les bancs et les lignes désignés sont différents. Un autre avantage du mode de réalisation décrit est 5 l'absence d'opérations conflictuelles retardées devant être traités ultérieurement. Des modes de réalisation particuliers de la présente invention ont été décrits. Diverses variantes et modifications apparaîtront à l'homme de l'art. En particulier, divers modes de 10 réalisation avec diverses variantes ont été décrits ci-dessus. On notera que l'homme de l'art pourra combiner divers éléments de ces divers modes de réalisation et variantes sans faire preuve d'activité inventive.

Claims (6)

  1. REVENDICATIONS1. Mémoire comportant : - un ensemble de premiers blocs mémoire (10i) de taille identique entre eux, destinés à contenir des premiers mots, - un ensemble de deuxièmes blocs mémoire (14i) de taille identique entre eux, destinés à contenir des deuxièmes mots, le nombre de deuxièmes mots étant identique au nombre de premiers mots, - un troisième bloc mémoire (12) identique aux 10 premiers blocs (10i), et - un quatrième bloc mémoire (16) identique aux deuxièmes blocs (14i), chaque adresse de la mémoire comportant une première partie {18) identifiant un premier bloc (loi) et une deuxième 15 partie (19) identifiant une même ligne dans tous les blocs, et chaque premier mot du troisième bloc (12) identifiant un mot libre parmi les deuxièmes mots partageant une même deuxième partie d'adresse (19).
  2. 2. Procédé de commande d'une mémoire selon la 20 revendication 1, comportant, en cas de lecture et écriture simultanées, une étape de comparaison (220) de premiers mots (214).
  3. 3. Procédé de commande selon la revendication 2 comportant en outre une étape de lecture (218) du troisième bloc 25 identifiant un bloc (BZ) comportant un mot libre, parmi les deuxièmes et quatrième blocs.
  4. 4. Procédé de commande selon la revendication 3, comportant en outre une étape (238, 240) de mise à jour des môts contenus dans les premiers et troisième blocs mémoire. 30
  5. 5. Procédé de commande d'une mémoire selon la revendication 4, dans lequel ladite étape de comparaison (220) est effectuée avant ladite étape de lecture (218).
  6. 6. Procédé de commande d'une mémoire conforme à l'une quelconque des revendications 2 à 5, dans lequel si les premiersB10371 - 10-GR3-114 13 mots (214) de ladite étape de comparaison (220) sont égaux, un mot est écrit à une adresse libre d'un des deuxièmes et quatrième blocs.
FR1056876A 2010-08-31 2010-08-31 Dispositif de controle d'acces a des memoires simple port Expired - Fee Related FR2964211B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1056876A FR2964211B1 (fr) 2010-08-31 2010-08-31 Dispositif de controle d'acces a des memoires simple port
US13/221,587 US8671262B2 (en) 2010-08-31 2011-08-30 Single-port memory with addresses having a first portion identifying a first memory block and a second portion identifying a same rank in first, second, third, and fourth memory blocks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1056876A FR2964211B1 (fr) 2010-08-31 2010-08-31 Dispositif de controle d'acces a des memoires simple port

Publications (2)

Publication Number Publication Date
FR2964211A1 true FR2964211A1 (fr) 2012-03-02
FR2964211B1 FR2964211B1 (fr) 2012-09-21

Family

ID=43639437

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1056876A Expired - Fee Related FR2964211B1 (fr) 2010-08-31 2010-08-31 Dispositif de controle d'acces a des memoires simple port

Country Status (2)

Country Link
US (1) US8671262B2 (fr)
FR (1) FR2964211B1 (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9329834B2 (en) * 2012-01-10 2016-05-03 Intel Corporation Intelligent parametric scratchap memory architecture
US9311990B1 (en) 2014-12-17 2016-04-12 Stmicroelectronics International N.V. Pseudo dual port memory using a dual port cell and a single port cell with associated valid data bits and related methods
US10635331B2 (en) 2017-07-05 2020-04-28 Western Digital Technologies, Inc. Distribution of logical-to-physical address entries across bank groups

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040221129A1 (en) * 2003-04-30 2004-11-04 Jae-Bum Ko Semiconductor memory device having tag block for reducing initialization time
US20050091465A1 (en) * 2003-10-23 2005-04-28 Andreev Alexander E. FIFO memory with single port memory modules for allowing simultaneous read and write operations

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7562271B2 (en) * 2005-09-26 2009-07-14 Rambus Inc. Memory system topologies including a buffer device and an integrated circuit memory device
US20080005516A1 (en) * 2006-06-30 2008-01-03 Meinschein Robert J Memory power management through high-speed intra-memory data transfer and dynamic memory address remapping
US7984329B2 (en) * 2007-09-04 2011-07-19 International Business Machines Corporation System and method for providing DRAM device-level repair via address remappings external to the device
FR2955001A1 (fr) * 2010-01-06 2011-07-08 St Microelectronics Grenoble 2 Procede et dispositif d'entrelacement en ligne et en colonne pour blocs de taille variable

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040221129A1 (en) * 2003-04-30 2004-11-04 Jae-Bum Ko Semiconductor memory device having tag block for reducing initialization time
US20050091465A1 (en) * 2003-10-23 2005-04-28 Andreev Alexander E. FIFO memory with single port memory modules for allowing simultaneous read and write operations

Also Published As

Publication number Publication date
US20120054464A1 (en) 2012-03-01
FR2964211B1 (fr) 2012-09-21
US8671262B2 (en) 2014-03-11

Similar Documents

Publication Publication Date Title
US9472258B2 (en) Method of operating memory device and method of operating memory system including the same
US20120246380A1 (en) Neighborhood operations for parallel processing
EP2366147B1 (fr) Gestionnaire physique de barriere de synchronisation entre processus multiples
MY136287A (en) Optoelectronic transceiver having dual access to onboard diagnostics
US9601172B2 (en) Address aligner and memory device including the same
US9858983B2 (en) Memory device having latency control circuit for controlling data write and read latency
EP3259674B1 (fr) Circuit dram muni d'un processeur integre
EP3356945B1 (fr) Dispositif informatique muni de traitement en memoire et de ports d'acces etroits
US10754584B2 (en) Data processing method and system for 2R1W memory
CN106960412B (zh) 包括多个缓冲区的存储器设备和驱动存储器的方法
US20170017400A1 (en) Memory device, memory system including the same and operation method of memory device
US20160203044A1 (en) Semiconducotor memory device and memory system including the same
KR20200081045A (ko) 3차원 적층 메모리 장치 및 그 동작 방법
FR2964211A1 (fr) Dispositif de controle d'acces a des memoires simple port
EP3038109B1 (fr) Mémoire à double port pseudo-aléatoire utilisant une cellule à double port et une cellule à port unique avec des bits de données valides associés et procédés correspondants
CN112997147B (zh) 实施于存储器中的向量寄存器
EP3598451B1 (fr) Memoire sram / rom reconfigurable par connexions aux alimentations
US11972328B2 (en) Machine learning device and machine learning system using the same
US20130238841A1 (en) Data processing device and method for preventing data loss thereof
US11941299B2 (en) MRAM access coordination systems and methods via pipeline in parallel
US20190341099A1 (en) Semiconductor device
EP0952587B1 (fr) DRAM à structure rapide
FR3057970A1 (fr) Architecture de communication pour l'echange de donnees entre des unites de traitement
US10565055B2 (en) Semiconductor memory device including an error correction code circuit
FR2801388A1 (fr) Procede de commande de memoire dram rapide et controleur adapte

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20150430