WO2022175619A1 - Dispositif memoire pourvu de circuits memoire dram agences de maniere a minimiser la taille d'un bloc memoire permettant la gestion de l'effet de martelage de rang - Google Patents

Dispositif memoire pourvu de circuits memoire dram agences de maniere a minimiser la taille d'un bloc memoire permettant la gestion de l'effet de martelage de rang Download PDF

Info

Publication number
WO2022175619A1
WO2022175619A1 PCT/FR2022/050256 FR2022050256W WO2022175619A1 WO 2022175619 A1 WO2022175619 A1 WO 2022175619A1 FR 2022050256 W FR2022050256 W FR 2022050256W WO 2022175619 A1 WO2022175619 A1 WO 2022175619A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
algorithm
dram
protection
block
Prior art date
Application number
PCT/FR2022/050256
Other languages
English (en)
Inventor
Fabrice Devaux
Original Assignee
Upmem
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 Upmem filed Critical Upmem
Priority to US18/277,961 priority Critical patent/US20240233800A9/en
Priority to CN202280026421.4A priority patent/CN117121106A/zh
Priority to KR1020237030067A priority patent/KR20230147646A/ko
Publication of WO2022175619A1 publication Critical patent/WO2022175619A1/fr

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40615Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40618Refresh operations over multiple banks or interleaving
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40622Partial refresh of memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/025Geometric lay-out considerations of storage- and peripheral-blocks in a semiconductor storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/02Arrangements for writing information into, or reading information out from, a digital store with means for avoiding parasitic signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

Definitions

  • the present invention relates to the field of memories, and in particular the field of dynamic random access memories.
  • the present invention relates to the management of the memory row hammering effect (“Row Hammer” according to the Anglo-Saxon terminology).
  • the present invention proposes an architecture of a memory device making it possible to manage and prevent the effect of memory rank hammering for large capacity memory devices without penalizing the performance of said devices.
  • This effect finds its origin in the repeated activation of a rank of a bank of a DRAM memory. More particularly, when the number of activations of a given rank, called “aggressor rank”, exceeds a critical hammering value, the ranks which are immediately adjacent to it, called “victim ranks”, see some of their bits inverted. In order to prevent the row hammering effect, it can be envisaged, before a row becomes an aggressor, to refresh the two adjacent victim rows according to a preventive refreshing procedure.
  • Such a preventive refreshing procedure is, in this respect, described in the document FR 3066842.
  • This document discloses in particular a memory device provided with a logic for detecting the triggering of row hammering.
  • This detection logic is configured to monitor and/or count the number of activations of each rank of a bank or a sub-bank of the memory device.
  • the counting data are, in this respect, stored in one or more tables whose number of entries is directly dependent on the size of the memory device (and in particular its capacity).
  • This memory device known from the state of the art is particularly efficient when the critical hammering value remains greater than 40000.
  • an aggressor rank of index "i" of a memory bank or sub-bank will affect not only the ranks which are immediately adjacent to it (of indices "i-1" and "i+1") , but also, and to a lesser extent, the index ranks “ik” and “i+k” (with “k” an integer strictly greater than 1).
  • this algorithm is generally implemented by means of a block of static random access memory (“SRAM” or “Static Random Access Memory” according to Anglo-Saxon terminology).
  • SRAM static random access memory
  • an increased capacity of the memory device, and a small size of the geometries used correspondingly increase the size of the tables necessary for the proper execution of the row hammering effect prevention algorithm. These factors therefore make it necessary to consider SRAM memory blocks of greater capacity.
  • this type of memory consumes space, and is likely to significantly increase the total cost of the memory system.
  • An object of the present invention is to provide a memory device implementing an algorithm for preventing the rank hammering effect and for which the SRAM memory block has a limited size.
  • the present invention relates to a memory device and, more particularly, to a memory device whose architecture makes it possible to effectively manage the row hammering effect when the density of said memory device as well as its total capacity increase.
  • the memory device comprises memory circuits, of the "DRAM” type, the total capacity of which is divided into a first part, called the “directly protected part”, and a second part, called the “indirectly protected part” of size greater than the first part. .
  • the memory device comprises a control circuit which implements two protection algorithms called, respectively, first algorithm and second algorithm.
  • control circuit comprises a first block implementing the first algorithm and a second block implementing the second algorithm.
  • first algorithm is configured to protect the first part from the rank hammering effect.
  • the second algorithm for its part, is configured to protect the second part from the rank hammering effect. It notably implements at least one table saved in the first part, this table being called the main table.
  • a memory device comprising: memory circuits, these circuits comprising memories of the "DRAM” type, the total capacity of which is divided into a first part, called the "directly protected part”, and a second part, called “indirectly protected part” larger than the first part;
  • control circuit configured to access the memory circuits, the control circuit comprises:
  • a first block configured to execute a first algorithm intended to protect the first part from a row hammering effect
  • a second block configured to execute a second algorithm intended to protect the second part from a row hammering effect likely to occur, the second algorithm using a main table saved in the first part;
  • control circuit comprises a functional block configured to execute calculation functions and programs in the second part, and advantageously also in the first part.
  • the first part and the second part are arranged so that the rank hammering effect imposed by a rank of one of the first part or the second part is not felt by the other of the first part or the second part.
  • the first part and the second part are configured according to one of the following configurations:
  • the first part and the second part are separate so as not to share DRAM memory circuits
  • the first part and the second part each comprise banks of DRAM memory circuits which are specific to them;
  • each comprise one or more sub-banks which are specific to them, said sub-banks are then arranged so that the hammering effect of row exerted by a row of a sub-bench of the first part is not felt by a sub-bench of the second part and vice versa;
  • common bank a DRAM memory circuit bank, called common bank
  • said common bank comprising unused memory rows and separating a section of the common bank, associated with the first part, from another section of the common bank, associated with the second part, the number of unused memory ranks being chosen so that no row hammering effect occurs between each of the two sections of the common bank.
  • the size of the first part corresponds to less than 0.1% of the size of the second part.
  • the first part and the second part are capable of exerting a rank hammering effect on each other, and in which the first algorithm and the second algorithm are configured to prevent the effect of rank hammering of the first part on the second part and vice versa.
  • the second block comprises a cache memory intended to store data from the main table used by the second algorithm.
  • the first block uses a table called the initial table, this initial table being implemented by the first algorithm, and stored in a memory called the protection memory block.
  • the first algorithm is a probabilistic algorithm requiring no initial table.
  • PARA Probabilistic Adjacent Row Activation
  • the first block comprises a cache memory intended to store data from the initial table used by the first algorithm and located in the protection memory block, the use of such a cache being advantageous when the performance of the memory block protection are limited.
  • the protection memory block comprises a memory that is immune to the rank hammering effect, in particular said memory can for example, without limitation, be a memory of the SRAM, MRAM or CNRAM type.
  • the protection memory block comprises a DRAM memory, and in which the rows of memory are arranged so as to prevent any row hammering within said block.
  • the protection memory block comprises a DRAM memory, in which the refresh rate is increased so as to prevent any row hammering within said block.
  • the protection memory block comprises a DRAM memory, in which electrical shielding separates the rows so as to prevent any row hammering within said block.
  • the protection memory block comprises a DRAM memory, in which unused ranks separate the used ranks so as to prevent any hammering of rank used within said block.
  • the protection memory block comprises a DRAM memory using a technically feasible combination of the 4 preceding methods so as to prevent any rank hammering within said block.
  • the DRAM memory comprises a third part and a third block implements a third rank hammering effect prevention algorithm using the second part to implement the table, or tables, that it needs.
  • an initial table is used by the first algorithm and the corresponding protection memory block is a DRAM memory protected from the hammering effect according to the present invention.
  • the invention also relates to a DRAM memory controller, the controller being intended to configure protection of said DRAM memories against a memory row hammering effect, the protection involving the implementation of a control circuit and a protection memory block of a predetermined capacity, the controller being suitable for:
  • the controller divides the total memory capacity DRAM in N parts, N32, say each part i for i ranging from 1 to N, N and i being integer values, and configures the control circuit so that it can execute N protection algorithms against the hammering effect of said rank each algorithm i for i ranging from 1 to N, each algorithm i being intended to protect against the rank hammering effect the part i by means of a table i, each table i, for i ranging from 2 to N being saved in part i-1, while table 1 is saved in the protection memory block, if the total capacity of the DRAM memories does not exceed the threshold size, the controller configures the control circuit so that it protects said DRAM memories using a unique algorithm that implements a table saved in the protection memory block.
  • the capacity of the parts i increases for i ranging from 1 to N.
  • the protection memory block comprises a memory immune to the memory rank hammering effect, advantageously the protection memory block comprises at least one of the memories chosen from among: an SRAM memory, an MRAM memory , or CNRAM memory. According to one mode of implementation, the protection memory block is included in the controller.
  • the protection memory block comprises DRAM memory, advantageously, the protection memory block forms part 0 of the DRAM memories.
  • control circuit is included in the controller.
  • Figure 1 is an illustration of the architecture of a memory device established according to the principles of the present invention, in particular the memory device comprises a memory part and a control circuit configured to prevent the rank hammering effect in the memory part, the memory part is, for its part, subdivided in order to optimize the management of row hammering, the single and double arrows illustrate the direction of the interactions between the different parts of the memory device;
  • Figure 2 is an illustration of another architecture of a memory device established according to the principles of the present invention, the device of Figure 2 differing from that of Figure 1 in that it does not include a block protection memory;
  • Figure 3 is an illustration of a DRAM memory controller for configuring a control circuit to protect said DRAM memory from rank hammering effects;
  • Figure 4 is an illustration of the principle of operation, and in particular the configuration of the row hammering protection, of the controller.
  • the present invention relates to a memory device provided with means for protecting against the rank hammering effect.
  • the present invention proposes a memory device whose architecture is optimized to prevent the row hammering effect of the memory circuits.
  • FIG. 1 illustrates a first example of a memory device 10 in accordance with the present invention.
  • the memory device includes a memory part 100 and a control circuit 200.
  • the memory part 100 notably comprises “DRAM” type memory circuits. More particularly, “DRAM” type memory circuits have a total capacity divided into a first part called “directly protected part 102” and a second part called “indirectly protected part 103”.
  • the first part 102 has a lower capacity, and more particularly much lower, than the second part 103.
  • first part 102 By “very lower”, one can in particular mean a first part 102 whose capacity is less than 0.1% of the capacity of the second part 103.
  • the first part 102 can include 100 rows of memory, while the second part 103 can include 100,000.
  • the second part 103 can comprise one bank or a plurality of memory banks.
  • the bank or banks of memory can be divided into sub-banks.
  • a memory bank can comprise R ranks and be divided into N sub-banks of identical sizes, or identical to within 1 rank.
  • the number of ranks S or S + 1 of a sub-bank is equal to the integer division of R by N.
  • the memory part 100 comprises a protection memory block 101.
  • a protection memory block 101 as considered in the state of the art comprises an “SRAM” type memory circuit. However, it will clearly appear in the remainder of the description, and in accordance with the general principles of the present invention, that this protection memory block can equally well comprise an “SRAM” type memory circuit and a “DRAM” type memory circuit.
  • the control circuit 200 comprises a first block 201 and a second block 202 configured to protect from a row hammering effect, respectively, the first part 102 and the second part 103.
  • the control circuit 200 can also comprise a functional block 300 configured to execute calculation functions and programs in the second part 103, and advantageously also in the first part 102.
  • protecting against a rank hammering effect is meant executing an algorithm, implemented according to a non-limiting example by a finite state machine, and which may be intended to control the execution of preventive refreshes of the memory ranks .
  • This algorithm can implement monitoring of a number of activations of the ranks of a bank or of a sub-bank, and trigger, as soon as the number of activations exceeds a threshold predetermined, one or more preventive refreshes based on this monitoring.
  • the first block 201 protects the first part 102 from the row hammering effect.
  • the first block 201 is configured to execute a first algorithm 201A intended to protect against the rank hammering effect the first part 102.
  • the first algorithm 201A can implement a so-called initial table table.
  • the number of entries of this initial table is, moreover, a function of the size (or the capacity) of the first part 102. More particularly, a decrease in the capacity of the first part leads to a reduction in the number of entries of the initial table.
  • the initial table is saved in the protection memory block 101.
  • the initial table is implemented by the first algorithm 201A.
  • the first algorithm 201A can in particular, and according to a non-limiting example, list the number of activations undergone by the ranks of the first part 102 either at the scale of the rank or at the scale of the bank or of the sub-bank. Based on this monitoring, and on a criterion relating to the number of activations, the first algorithm 201A can command a (preventive) refresh at the level of the first part 102.
  • the second block 202 protects the second part 103 from the rank hammering effect.
  • the second algorithm 202A can implement a so-called main table table.
  • the second block 202 is configured to execute a second algorithm 202A intended to protect against the rank hammering effect of the second part 103.
  • the number of entries in this main table is, moreover, a function of the size (or the capacity) of the second part 103.
  • the main table is saved in the directly protected part 102.
  • the main table is implemented by the second algorithm 202A.
  • the second algorithm can in particular, and according to a non-limiting example, identify the number of activations undergone by the rows of the second part 103 either at the scale of the row or at the scale of the bank or of the sub-bank. Based on this monitoring, and on a criterion relating to the number of activations, the second algorithm 202A can command a (preventive) refresh at the level of the second part 103.
  • the relatively small size of the first part 102, made of DRAM, can possibly give the latter access performance much higher than that of the second part 103 and possibly simplify the implementation of the algorithm 202A
  • the latter generally implements SRAM memory which consumes a lot of space and has a high manufacturing cost. Reducing the size of the first part therefore opens the way to the consideration of an SRAM memory also of reduced size.
  • the function block 300 is intended to execute calculation functions and programs capable of accessing the second part 103.
  • the functional block 300 is also intended to execute calculation functions and programs capable of accessing the first part 102.
  • these programs can be executed for reasons of initial or periodic hardware integrity testing, collection of statistics, detection of computer attacks, debugging or management of hardware failures.
  • the first part 102 and the second part 103 are arranged so that the rank hammering effect imposed by a rank of one of the first part 102 and the second part 103 is not felt by the the other of the first part 102 and the second part 103.
  • Such an objective can, for example, be achieved by imposing at least one of the following conditions:
  • the first part 102 and the second part 103 can each comprise memory banks which are specific to them (the row hammering effect is not felt from one bank to another);
  • the first part 102 and the second part 103 within the same memory bank, each comprise one or more their own sub-benches, said sub-benches are then arranged so that the row hammering effect exerted by a row of a sub-bench of the first part is not felt by a sub-bench of the second party and vice versa;
  • the first part 102 and the second part 103 have in common a memory bank, called common bank, said common bank comprising unused memory ranks and separating a section of the common bank, associated with the first part 102, from a another section of the common bank, associated with the second part 103, the number of unused memory ranks being chosen so that no rank hammering effect occurs between each of the two sections of the common bank.
  • the first part 102 and the second part 103 are capable of exerting a row hammering effect on each other.
  • this effect can be predicted, and therefore managed, by the first algorithm 201A and the second algorithm 202A.
  • the first algorithm 201A can be configured to take into account the activation of the rows of the second part 103 likely to exert a row hammering at the level of rows of the first part 102.
  • the second algorithm 202A can be configured to take into account the activation of the ranks of the first part 102 likely to exert a rank hammering at the level of ranks of the second part 103.
  • the second block 202 can comprise a cache memory 202B.
  • This cache memory 202B can in particular be implemented to temporarily store data relating to the main table.
  • this temporary storage may relate to entries of the main table for which there is recurrent access.
  • This consideration thus makes it possible to optimize, or more particularly, to minimize the accesses to the main table located in the first part 102 of the memory.
  • the first algorithm 201A and the second algorithm 202A can operate according to similar principles and criteria.
  • first algorithm 201A and the second algorithm 202A implement the same execution hardware resources, and differ only in their dimensioning and the possible implementation of a cache memory.
  • This other cache memory is in particular implemented according to conditions similar to those of the cache memory 202B.
  • the protection memory block 101 can comprise a memory immune against the rank hammering effect.
  • the protection memory block 101 can comprise at least one of the memories chosen from: an SRAM memory, an MRAM (“volatile magneto-resistive memory”) memory, a CNRAM (“volatile carbon nanotube memory”) memory.
  • the protection memory block 101 because of its small size, can include DRAM memory, as long as it is arranged or refreshed in such a way that it is immune to the rank hammering effect.
  • Optimized architecture of the memory device of the present invention for the realization of a DRAM circuit for the realization of a DRAM circuit.
  • the memory device 10 can therefore be a DRAM circuit which comprises the first part 102 and the second part 103.
  • the DRAM circuit physically comprises the first and the second part and is configured to perform accesses independently on one and/or the other of these two parts.
  • the DRAM circuit also includes the protection memory block
  • the protection memory block 101 is sized according to the size (or the capacity) of the first part 102. Insofar as the first part
  • the first part 102 of the DRAM circuit can have access performances that are much higher than the second part 103, possibly making it possible to simplify the execution of the second algorithm 202A.
  • the architecture of the DRAM circuit is also adapted so that the first algorithm 201A and the second algorithm 202A are executed in the background and therefore do not interfere with the normal operation of the DRAM circuit. In particular, only the preventive refresh operations determined by the second algorithm must be inserted into the command traffic intended for the second part of the DRAM memory.
  • each periodic refresh command in fact resulting in the refreshing of several ranks instead of just one, it is then possible to transform a significant fraction of the periodic refresh commands into refresh preventive.
  • the present invention makes it possible to consider a protection memory block 101 made, because of its small size, of DRAM memory instead of SRAM memory.
  • Small size DRAM can be configured to be immune to rank hammering effects.
  • Such an objective can, for example, be achieved by imposing at least one of the following conditions: - the implementation of a shield between the ranks of the DRAM memory;
  • the memory device as described above is not limited to the sole consideration of a first part, a second part, and a protection memory block.
  • DRAM dynamic random access memory
  • control circuit can for its part implement N algorithms. More particularly, according to this configuration, algorithm i, implements part i-1, (2 £ i £ N) and protects part i, while part 1 is protected by algorithm 1 and the memory block protection.
  • the protection memory block may comprise, at choice, an SRAM memory or a portion of DRAM designed specifically to be immune to the rank hammering effect.
  • FIG. 2 illustrates a second example of memory device 10 in accordance with the present invention.
  • This second example essentially takes up all the characteristics relating to the first example illustrated in Figure 1. However, in this second example, the memory device has no protection memory block 101, and therefore does not implement a first table as described in the first example.
  • the first algorithm 201A comprises a probabilistic algorithm.
  • a probabilistic algorithm those skilled in the art wishing to implement a probabilistic algorithm to consult the document Y. Kim et al., "Flipping bits in memory without accessing them: An experimental study of DRAM disturbance errors," 2014 ACM/IEEE 41st International Symposium on Computer Architecture (ISCA), Minneapolis, MN, USA, 2014, pp. 361-372, doi: 10.1109/ISCA.2014.6853210.
  • PARA Probabilistic Adjacent Row Activation
  • the invention also relates to a controller 1000 of DRAM memories 1100 illustrated in FIG. 3.
  • the controller 1000 is intended to configure protection of the DRAM memories 1100 against a memory rank hammering effect.
  • the protection involves the implementation of a control circuit 1200 and a protection memory block 1101 of a predetermined capacity.
  • the DRAM memories, the control circuit 1200 and the protection memory block 1101 take up most of the characteristics stated in relation to the memory device 10.
  • the controller 1000 is in particular suitable for determining the total capacity of the DRAM memories 1100 controlled by the controller 1000. In particular, if the total capacity of the DRAM memories 1100 exceeds a size, called the threshold size, beyond which protection by an algorithm implementing a single table saved in the protection memory block 1101 is impossible, the controller divides the capacity total of the DRAM memories 1100. This occurs in particular when said table has a size greater than the storage capacity of the protection memory block.
  • the DRAM memories 1100 can be divided into N parts, with N an integer greater than or equal to 2. Each of these parts is denoted part i for i an integer ranging from 1 to N.
  • the capacity of the parts i increases for i ranging from 1 to N.
  • the controller 1000 also configures the control circuit 1200 so that it can execute N rank hammering protection algorithms each called algorithm 1200i for i ranging from 1 to N.
  • Each algorithm 1200i is in particular intended to protect part i against the rank hammering effect by means of a table i.
  • Each table i, for i ranging from 2 to N, is in particular saved in the part i-1, while table 1 is saved in the protection memory block 1101.
  • the controller 1000 configures the control circuit 1200 so that it protects the DRAM memories 1100 by means of of a single algorithm which implements a table saved in the protection memory block 1101.
  • the protection memory block 1101 can advantageously comprise a memory immune to the memory rank hammering effect.
  • the protection memory block 1101 comprises at least one of the memories chosen from: an SRAM memory, an MRAM memory, or CNRAM memory.
  • the protection memory block 1101 is included in the controller 1000.
  • the protection memory block 1101 comprises DRAM memory, advantageously, the protection memory block 1101 forms part 0 of the DRAM memories 1100.
  • controller 1000 may include control circuit 1200.
  • Controller 1000 as previously described allows effective configuration of control circuit 1200 to protect against the effects of rank hammering of DRAM memories.
  • This controller in particular offers a flexible solution in terms of DRAM memory capacity.

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Retry When Errors Occur (AREA)

Abstract

L'invention concerne un dispositif mémoire comprenant : - des circuits mémoire DRAM (100), dont la capacité totale est divisée en une première partie (102) et une deuxième partie (103) de taille supérieure à la première partie (102); - un circuit de contrôle configuré pour accéder aux circuits mémoire, le circuit de contrôle comprend: - un premier bloc (201) configuré pour exécuter un premier algorithme (201A) destiné à protéger la première partie (102) d'un effet de martelage de rang; - un deuxième bloc (202) configuré pour exécuter un deuxième algorithme (202A) destiné à protéger la deuxième partie (103) d'un effet de martelage de rang susceptible d'intervenir, le deuxième algorithme (202A) utilisant une table principale sauvegardée dans la première partie (102). 0

Description

DISPOSITIF MEMOIRE POURVU DE CIRCUITS MEMOIRE DRAM AGENCES DE
MANIERE A MINIMISER LA TAILLE D'UN BLOC MEMOIRE PERMETTANT LA GESTION DE L'EFFET DE MARTELAGE DE RANG
DOMAINE DE L' INVENTION
La présente invention concerne le domaine des mémoires, et notamment le domaine des mémoires à accès aléatoire dynamique.
En particulier, la présente invention porte sur la gestion de l'effet de martelage de rang de mémoire (« Row Hammer » selon la terminologie anglo-Saxonne).
A cet égard, la présente invention propose une architecture d'un dispositif mémoire permettant de gérer et prévenir l'effet de martelage de rang de mémoire pour des dispositifs mémoire de grande capacité sans pénaliser les performances desdits dispositifs.
ARRIERE PLAN TECHNOLOGIQUE DE L' INVENTION
L'effet de martelage de rang (« Row Hammer » selon la terminologie Anglo-Saxonne) dans les mémoires à accès aléatoire dynamique (« DRAM » ou « Dynamic Random Access Memory » selon la terminologie Anglo-Saxonne) est bien connu de l'homme du métier.
Cet effet trouve son origine dans l'activation répétée d'un rang d'un banc d'une mémoire DRAM. Plus particulièrement, lorsque le nombre d'activations d'un rang donné, dit « rang agresseur », dépasse une valeur critique de martelage, les rangs qui lui sont immédiatement adjacents, dits « rangs victimes », voient certains de leurs bits inversées. Afin de prévenir l'effet de martelage de rang, il peut être envisagé, avant qu'un rang devienne agresseur, de rafraichir les deux rangs victimes adjacents selon une procédure de rafraîchissement préventif.
Une telle procédure de rafraîchissement préventif est, à cet égard, décrite dans le document FR 3066842. Ce document divulgue notamment un dispositif mémoire pourvu d'une logique de détection du déclenchement du martelage de rang. Cette logique de détection est configurée pour surveiller et/ou compter le nombre d'activations de chaque rang d'un banc ou d'un sous-banc du dispositif mémoire. Les données de comptage sont, à cet égard, mémorisées dans une ou plusieurs tables dont le nombre d'entrées est directement dépendant de la taille du dispositif mémoire (et notamment sa capacité).
Ce dispositif mémoire connu de l'état de la technique est particulièrement performant dès lors que la valeur critique de martelage reste supérieure à 40000.
Toutefois, l'augmentation de la capacité des dispositifs mémoire impose la considération de tables comprenant un plus grand nombre d'entrées, et par voie de conséquence, bien plus consommatrices de ressources.
Par ailleurs, la seule considération d'un martelage de rang au niveau des rangs immédiatement adjacents au rang agresseur, telle que proposée dans le document FR 3066842 trouve ces limites lorsque le dispositif mémoire est fabriqué selon des géométries fines, et notamment selon des finesses inférieures à 20nm.
En effet, la considération de motifs ou de géométries plus fin(e)s conduit inéluctablement à augmenter la portée de l'effet de martelage de rang. Notamment, un rang agresseur d'indice « i » d'un banc ou d'un sous-banc de mémoire affectera non seulement les rangs qui lui sont immédiatement adjacents (d'indices « i- 1 » et « i+1 »), mais également, et dans une moindre mesure, les rangs d'indices « i-k » et « i+k » (avec « k » entier strictement supérieur à 1).
L'augmentation de la portée de l'effet de martelage a ainsi deux conséquences. Elle contribue, en premier lieu, à l'augmentation de la taille de tables susceptibles d'être considérées dans le document FR 3066842. En second lieu, elle impose des valeurs critiques de martelage bien inférieures à 40000, voire inférieures à 4800.
Ces deux effets combinés affectent directement l'efficacité de la logique de détection du déclenchement du martelage de rang proposée dans ce documents.
Afin de pallier ces problèmes, il a été proposé dans le document US 10,885,966 un autre algorithme de prévention de l'effet de martelage de rang. Ce dernier met également en œuvre des tables, et considère une portée de l'effet de martelage au-delà des rangs immédiatement adjacents à un rang agresseur. Plus particulièrement, l'algorithme proposé, afin de limiter les ressources nécessaires à sa mise en œuvre, surveille les activations au niveaux de sous-bancs.
Cet algorithme, encore plus efficace que celui proposé dans le document FR 3066842, peut être amélioré pour certaines architectures de dispositifs mémoire.
Notamment, cet algorithme est généralement mis en œuvre au moyen d'un bloc de mémoire à accès aléatoire statique (« SRAM » ou « Static Random Access Memory » selon la terminologie Anglo- Saxonne). Toutefois, une capacité du dispositif mémoire accrue, et une taille des géométries employées faible augmentent d'autant la taille des tables nécessaires à la bonne exécution de l'algorithme de prévention de l'effet de martelage de rang. Ces facteurs imposent donc de considérer des blocs mémoires SRAM de plus grande capacité. Or, ce type de mémoire est consommateur d'espace, et est susceptible de renchérir significativement le coût total du système mémoire.
OBJET DE L' INVENTION
Un but de la présente invention est de proposer un dispositif mémoires mettant un œuvre un algorithme de prévention de l'effet de martelage de rang et pour lequel le bloc de mémoire SRAM présente une taille limitée.
EXPOSE DE L' INVENTION
La présente invention se rapporte à un dispositif mémoire et, plus particulièrement, à un dispositif mémoire dont l'architecture permet de gérer efficacement l'effet de martelage de rang lorsque la densité dudit dispositif mémoire ainsi que sa capacité totale augmentent.
Le dispositif mémoire comprend des circuits mémoire, du type « DRAM », dont la capacité totale est divisée en une première partie, dite « partie directement protégée », et une deuxième partie, dite « partie indirectement protégée » de taille supérieure à la première partie.
Selon la présente invention, le dispositif mémoire comprend un circuit de contrôle qui met en œuvre deux algorithmes de protection dits, respectivement, premier algorithme et deuxième algorithme.
Plus particulièrement, le circuit de contrôle comprend un premier bloc mettant en œuvre le premier algorithme et un deuxième bloc mettant en œuvre le deuxième algorithme. A cet égard, le premier algorithme est configuré pour protéger la première partie de l'effet de martelage de rang.
Le deuxième algorithme, pour sa part, est configuré pour protéger le deuxième partie de l'effet de martelage de rang. Il met notamment en œuvre au moins une table sauvegardée dans la première partie, cette table étant appelée table principale.
Le but de l'invention est atteint par un dispositif mémoire comprenant : des circuits mémoire, ces circuits comprenant des mémoires du type « DRAM », dont la capacité totale est divisée en une première partie, dite « partie directement protégée », et une deuxième partie, dite « partie indirectement protégée » de taille supérieure à la première partie ;
- un circuit de contrôle configuré pour accéder aux circuits mémoire, le circuit de contrôle comprend :
- un premier bloc configuré pour exécuter un premier algorithme destiné à protéger la première partie d'un effet de martelage de rang ;
- un deuxième bloc configuré pour exécuter un deuxième algorithme destiné à protéger la deuxième partie d'un effet de martelage de rang susceptible d'intervenir, le deuxième algorithme utilisant une table principale sauvegardée dans la première partie ;
Selon un mode de réalisation, le circuit de contrôle comprend un bloc fonctionnel configuré pour exécuter des fonctions de calculs et des programmes dans la deuxième partie, et de manière avantageuse également dans la première partie.
Selon un mode de réalisation, la première partie et la deuxième partie sont agencées de sorte que l'effet de martelage de rang imposé par un rang de l'une de la première partie ou de la deuxième partie ne soit pas ressenti par l'autre de la première partie ou de la deuxième partie.
Selon un mode de réalisation, la première partie et la deuxième partie sont configurées selon l'une des configurations suivantes :
- la première partie et la deuxième partie sont disjointes de manière à ne pas partager des circuits mémoire DRAMs ;
- la première partie et la deuxième partie comprennent chacune des bancs des circuits mémoire DRAM qui leur sont propres ;
- la première partie et la deuxième partie, au sein d'un même banc des circuits mémoire DRAM, comprennent chacune un ou plusieurs sous-bancs qui leurs sont propres, lesdits sous-bancs sont alors agencés de sorte que l'effet de martelage de rang exercé par un rang d'un sous banc de la première partie ne soit pas ressenti par un sous-banc de la deuxième partie et inversement ;
- la première partie et la deuxième partie ont en commun un banc de circuit mémoire DRAM, dit banc commun, ledit banc commun comprenant des rangs mémoire non utilisés et séparant une section du banc commun, associée à la première partie, d'une autre section du banc commun, associée à la deuxième partie, le nombre de rangs mémoire non utilisés étant choisis de sorte qu'aucun effet de martelage de rang n'intervienne entre chacun des deux sections du banc commun.
Selon un mode de réalisation, la taille de la première partie correspond à moins de 0,1% de la taille de la deuxième partie.
Selon un mode de réalisation, la première partie et la deuxième partie sont susceptibles d'exercer un effet de martelage de rang l'une sur l'autre, et dans lequel le premier algorithme et le deuxième algorithme sont configurés pour prévenir l'effet de martelage de rang de la première partie sur la deuxième partie et inversement.
Selon un mode de réalisation, le deuxième bloc comprend une mémoire cache destinée à stocker des données de la table principale utilisée par le deuxième algorithme.
Selon un mode de réalisation, le premier bloc utilise une table dite table initiale, cette table initiale étant mise en œuvre par le premier algorithme, et stockée dans une mémoire dit bloc mémoire de protection.
Selon un mode de réalisation, le premier algorithme est un algorithme probabiliste ne nécessitant pas de table initiale. Le document « Flipping Bits in Memory Without Accessing Them : An Experimental Study of DRAM Disturbance Errors » dévoile par exemple l'algorithme « PARA » (Probabilistic Adjacent Row Activation), représentatif des algorithmes probabilistes ne nécessitant pas de table.
Selon un mode de réalisation, le premier bloc comprend une mémoire cache destinée à stocker des données de la table initiale utilisée par le premier algorithme et située dans le bloc mémoire de protection, l'usage d'un tel cache étant avantageux quand les performances du bloc mémoire de protection sont limitées.
Selon un mode de réalisation, le bloc mémoire de protection comprend une mémoire immune contre l'effet de martelage de rang, notamment ladite mémoire peut par exemple non limitatif être une mémoire de type SRAM, MRAM ou CNRAM.
Selon un mode de réalisation, le bloc mémoire de protection comprend une mémoire DRAM, et dans lequel les rangs de mémoire sont agencés de manière à prévenir tout martelage de rang au sein dudit bloc. Selon un mode de réalisation, le bloc mémoire de protection comprend une mémoire DRAM, dans lequel la fréquence de rafraîchissement est augmentée de sorte à prévenir tout martelage de rang au sein dudit bloc.
Selon un mode de réalisation, le bloc mémoire de protection comprend une mémoire DRAM, dans lequel des blindages électriques séparent les rangs de sorte à prévenir tout martelage de rang au sein dudit bloc.
Selon un mode de réalisation, le bloc mémoire de protection comprend une mémoire DRAM, dans lequel des rangs inutilisés séparent les rangs utilisés de sorte à prévenir tout martelage de rang utilisé au sein dudit bloc.
Selon un mode de réalisation, le bloc mémoire de protection comprend une mémoire DRAM utilisant une combinaison techniquement réalisable des 4 procédés précédents de sorte à prévenir tout martelage de rang au sein dudit bloc.
Selon un mode de réalisation, la mémoire DRAM comprend une troisième partie et un troisième bloc implémente un troisième algorithme de prévention de l'effet de martelage de rang utilisant la deuxième partie pour implémentation de la table, ou des tables, dont il a besoin.
Selon un mode de réalisation, une table initiale est utilisée par le premier algorithme et le bloc mémoire de protection correspondant est une mémoire DRAM protégée de l'effet de martelage selon la présente invention.
L'invention concerne également un contrôleur de mémoires DRAM, le contrôleur étant destiné à configurer une protection desdites mémoires DRAM contre un effet de martelage de rangs de mémoire, la protection impliquant la mise en œuvre d'un circuit de contrôle et d'un bloc mémoire de protection d'une capacité prédéterminée, le contrôleur étant adapté pour :
- déterminer la capacité totale des mémoires de type DRAM contrôlées par le contrôleur ;
- si la capacité totale des mémoires DRAM excède une taille, dite taille seuil, au-delà de laquelle la protection par un algorithme mettant en œuvre une unique table sauvegardée dans le bloc mémoire de protection est impossible, le contrôleur divise la capacité totale des mémoires DRAM en N parties, N³2, dites chacune partie i pour i allant de 1 à N, N et i étant des valeurs entières, et configure le circuit de contrôle pour qu'il puisse exécuter N algorithmes de protection contre l'effet de martelage de rang dits chacun algorithme i pour i allant de 1 à N, chaque algorithme i étant destiné à protéger contre l'effet de martelage de rang la partie i au moyen d'une table i, chaque table i, pour i allant de 2 à N étant sauvegardée dans la partie i-1, tandis que la table 1 est sauvegardée dans le bloc mémoire de protection, si la capacité totale des mémoires DRAM n'excède pas la taille seuil le contrôleur configure le circuit de contrôle pour qu'il protège lesdites mémoires DRAM au moyen d'un unique algorithme qui met en œuvre une table sauvegardée dans le bloc mémoire de protection .
Selon un mode de mise en œuvre, la capacité des parties i va croissant pour i allant de 1 à N.
Selon un mode de mise en œuvre, le bloc mémoire de protection comprend une mémoire immune à l'effet de martelage de rang de mémoire, avantageusement le bloc mémoire de protection comprend au moins une des mémoires choisies parmi : une mémoire SRAM, une mémoire MRAM, ou mémoire CNRAM. Selon un mode de mise en œuvre, le bloc mémoire de protection est compris dans le contrôleur.
Selon un mode de mise en œuvre, le bloc mémoire de protection comprend de la mémoire DRAM, avantageusement, le bloc mémoire de protection forme une partie 0 des mémoires DRAM.
Selon un mode de mise en œuvre, le circuit de contrôle est compris dans le contrôleur.
BREVE DESCRIPTION DES DESSINS
D'autres caractéristiques et avantages apparaîtront dans la description qui va suivre d'un dispositif mémoire selon l'invention, donnés à titre d'exemples non limitatifs, en référence à la figure annexée dans laquelle :
• La figure 1 est une illustration de l'architecture d'un dispositif mémoire établi selon les principes de la présente invention, notamment le dispositif mémoire comprend une partie mémoire et un circuit de contrôle configuré pour prévenir l'effet de martelage de rang dans la partie mémoire, la partie mémoire est, pour sa part, subdivisée afin d'optimiser la gestion du martelage de rang, les flèches simples et doubles illustrent le sens des interactions entre les différentes parties du dispositif mémoire ;
• La figure 2 est une illustration d'une autre architecture d'un dispositif mémoire établi selon les principes de la présente invention, le dispositif de la figure 2 différant de la celui de la figure 1 en ce qu'il ne comprend pas de bloc mémoire de protection ; • La figure 3 est une illustration d'un contrôleur de mémoire DRAM destiné à configurer un circuit de contrôle pour protéger ladite mémoire DRAM des effet de martelage de rang ;
• La figure 4 est une illustration du principe de fonctionnement, et notamment de la configuration de la protection des effets de martelage de rang, du contrôleur.
DESCRIPTION DETAILLEE DE L' INVENTION
La présente invention concerne un dispositif mémoire pourvu de moyens de protection de l'effet de martelage de rang. Notamment, la présente invention propose un dispositif mémoire dont l'architecture est optimisée pour prévenir l'effet de martelage de rang des circuits mémoire.
La figure 1 illustre un premier exemple de dispositif mémoire 10 conforme à la présente invention.
Le dispositif mémoire comprend une partie mémoire 100 et un circuit de contrôle 200.
La partie mémoire 100 comprend notamment des circuits mémoire du type « DRAM ». Plus particulièrement, les circuits mémoire du type « DRAM » présentent une capacité totale divisée en une première partie dite « partie directement protégée 102 » et une deuxième partie dite « partie indirectement protégée 103 ».
Conformément à la présente invention, la première partie 102 présente une capacité inférieure, et plus particulièrement très inférieure, à la deuxième partie 103.
Par « très inférieure », on peut notamment entendre une première partie 102 dont la capacité est inférieure à 0,1% de la capacité de la deuxième partie 103. Ainsi, la première partie 102 peut comprendre 100 rangs de mémoire, tandis que la deuxième partie 103 en compter 100000.
La deuxième partie 103 peut comprendre un banc ou une pluralité de bancs mémoire. Le banc ou les bancs de mémoire peuvent être divisés en sous-bancs. Par exemple un banc de mémoire peut comprendre R rangs et être divisé en N sous-bancs de tailles identiques, ou identiques à 1 rang près. Dans ce cas de figure, le nombre de rang S ou S + 1 d'un sous-banc est égal à la division entière de R par N.
La partie mémoire 100 comprend un bloc mémoire de protection 101. Un bloc mémoire de protection 101 tel que considéré dans l'état de la technique comprend un circuit mémoire de type « SRAM ». Il apparaîtra toutefois clairement dans la suite de la description, et conformément aux principes généraux de la présente invention, que ce bloc mémoire de protection peut aussi bien comprendre un circuit mémoire du type « SRAM » qu'un circuit mémoire du type « DRAM ».
Le circuit de contrôle 200 comprend un premier bloc 201 et un deuxième bloc 202 configurés pour protéger d'un effet de martelage de rang, respectivement, la première partie 102 et la deuxième partie 103.
Le circuit de contrôle 200 peut également comprendre un bloc fonctionnel 300 configuré pour exécuter des fonctions de calculs et des programmes dans la deuxième partie 103, et de manière avantageuse également dans la première partie 102.
Par « protéger d'un effet de martelage de rang », on entend exécuter un algorithme, implémenté selon un exemple non limitatif par une machine d'état fini, et qui peut être destiné à commander l'exécution de rafraîchissements préventifs des rangs de mémoire. Cet algorithme, toujours selon un exemple non limitatif, peut mettre en œuvre une surveillance d'un nombre d'activations des rangs d'un banc ou d'un sous banc, et déclencher, dès lors que le nombre d'activations dépasse un seuil prédéterminé, un ou plusieurs rafraîchissements préventifs sur la base de cette surveillance.
Des procédés de protection de l'effet de martelage sont décrits dans les documents FR 3066842 et US 10,885,966. Ces derniers peuvent avantageusement être mis en œuvre dans le dispositif mémoire selon la présente invention. Toutefois, il est entendu sans qu'il soit nécessaire de le préciser que l'invention n'est pas limitée à leur seule mise en œuvre.
Le premier bloc 201, tel que défini précédemment, protège de l'effet de martelage de rang la première partie 102.
A cette fin, le premier bloc 201 est configuré pour exécuter un premier algorithme 201A destiné à protéger contre l'effet de martelage de rang la première partie 102.
Notamment, le premier algorithme 201A, à l'instar des procédés proposés dans les documents FR 3066842 et US 10,885,966, peut mettre en œuvre une table dite table initiale.
Le nombre d'entrées de cette table initiale est, par ailleurs, fonction de la taille (ou la capacité) de la première partie 102. Plus particulièrement, une décroissance de la capacité de la première partie entraîne une diminution du nombre d'entrées de la table initiale.
Selon la présente invention, la table initiale est sauvegardée dans le bloc mémoire de protection 101. La table initiale est mise en œuvre par le premier algorithme 201A. Le premier algorithme 201A peut notamment, et selon un exemple non limitatif, recenser le nombre d'activations subi par les rangs de la première partie 102 soit à l'échelle du rang soit à l'échelle du banc ou du sous-banc. Sur la base de ce suivi, et d'un critère relatif au nombre d'activations, le premier algorithme 201A peut commander un rafraîchissement (préventif) au niveau de la première partie 102. Le deuxième bloc 202, tel que défini précédemment, protège de l'effet de martelage de rang la deuxième partie 103.
Notamment, le deuxième algorithme 202A peut mettre en œuvre une table dite table principale.
A cette fin, le deuxième bloc 202 est configuré pour exécuter un deuxième algorithme 202A destiné à protéger contre l'effet de martelage de rang de la deuxième partie 103.
Le nombre d'entrées de cette table principale est, par ailleurs, fonction de la taille (ou la capacité) de la deuxième partie 103.
Selon la présente invention, la table principale est sauvegardée dans la partie directement protégée 102. La table principale est mise en œuvre par le deuxième algorithme 202A. Le deuxième algorithme peut notamment, et selon un exemple non limitatif, recenser le nombre d'activations subi des rangs de la deuxième partie 103 soit à l'échelle du rang soit à l'échelle du banc ou du sous-banc. Sur la base de ce suivi, et d'un critère relatif au nombre d'activations, le deuxième algorithme 202A peut commander un rafraîchissement (préventif) au niveau de la deuxième partie 103.
La taille relativement réduite de la première partie 102, faite de DRAM, peut éventuellement conférer à cette dernière des performances d'accès bien supérieures à celles de la deuxième partie 103 et éventuellement simplifier la réalisation de l'algorithme 202A
En outre, une telle architecture, considérant un première partie de taille relativement réduite, permet de limiter également la taille (et la capacité) du bloc mémoire de protection 101.
Ce dernier met généralement en œuvre de la mémoire SRAM très consommatrice en espace et d'un coût de fabrication élevé. La réduction de la taille de la première partie ouvre donc la voie à la considération d'une mémoire SRAM également de taille réduite.
Le bloc fonctionnel 300, évoqué précédemment, est destiné à exécuter des fonctions de calcul et des programmes susceptibles d'accéder à la deuxième partie 103.
Selon un mode de réalisation particulièrement avantageux, le bloc fonctionnel 300 est également destiné à exécuter des fonctions de calcul et des programmes susceptibles d'accéder à la première partie 102. Notamment, et à titre d'exemple non limitatif, ces programmes peuvent être exécutés pour des raisons de tests d'intégrité matérielle initiale ou périodique, de collection de statistique, de détection d'attaques informatiques, de mise au point ou de gestion de défaillances matérielles.
De manière particulièrement avantageuse, la première partie 102 et la deuxième partie 103 sont agencées de sorte que l'effet de martelage de rang imposé par un rang de l'une de la première partie 102 et la deuxième partie 103 ne soit pas ressenti par l'autre de la première partie 102 et de la deuxième partie 103.
Un tel objectif peut, par exemple, être atteint en imposant au moins l'une des conditions suivantes :
1) Il peut être considéré une première partie 102 et une deuxième partie 103 qui ne partagent pas de circuits DRAM, et de manière générale qui sont disjointes ;
2) La première partie 102 et la deuxième partie 103 peuvent comprendre chacune des bancs de mémoire qui leur sont propres (l'effet de martelage de rang ne se fait pas ressentir d'un banc à l'autre) ;
3) La première partie 102 et la deuxième partie 103, au sein d'un même banc de mémoire, comprennent chacune un ou plusieurs sous-bancs qui leurs sont propres, lesdits sous-bancs sont alors agencés de sorte que l'effet de martelage de rang exercé par un rang d'un sous banc de la première partie ne soit pas ressenti par un sous-banc de la deuxième partie et inversement ;
4) La première partie 102 et la deuxième partie 103 ont en commun un banc de mémoire, dit banc commun, ledit banc commun comprenant des rangs mémoire non utilisés et séparant une section du banc commun, associée à la première partie 102, d'une autre section du banc commun, associée à la deuxième partie 103, le nombre de rangs mémoire non utilisés étant choisis de sorte qu'aucun effet de martelage de rang n'intervienne entre chacun des deux sections du banc commun.
Les conditions citées ci-avant ne sont que des exemples et ne doivent pas présenter un caractère limitatif au regard de la présente invention.
De manière alternative, il peut être considéré que la première partie 102 et la deuxième partie 103 sont susceptibles d'exercer un effet de martelage de rang l'une sur l'autre. Dans ce cas de figure, cet effet peut être prévu, et donc géré, par le premier algorithme 201A et le deuxième algorithme 202A.
Notamment, le premier algorithme 201A peut être configuré pour tenir compte de l'activation des rangs de la deuxième partie 103 susceptibles d'exercer un martelage de rang au niveau de rangs de la première partie 102.
De manière équivalente, le deuxième algorithme 202A peut être configuré pour tenir compte de l'activation des rangs de la première partie 102 susceptibles d'exercer un martelage de rang au niveau de rangs de la deuxième partie 103.
De manière particulièrement avantageuse, le deuxième bloc 202 peut comprendre une mémoire cache 202B. Cette mémoire cache 202B peut notamment être mise en œuvre pour stocker, de manière temporaire, des données relatives à la table principale.
En particulier, ce stockage temporaire peut concerner des entrées de la table principale pour lesquelles on constate un accès récurrent.
Cette considération permet ainsi d'optimiser, ou plus particulièrement, de minimiser les accès à la table principale situé dans la première partie 102 de la mémoire.
De manière particulièrement avantageuse, le premier algorithme 201A et le deuxième algorithme 202A peuvent fonctionner selon des principes et critères similaires.
Notamment, le premier algorithme 201A et le deuxième algorithme 202A mettent en œuvre les mêmes ressources matérielles d'exécutions, et ne diffèrent que dans leur dimensionnement et l'éventuelle mise en œuvre d'une mémoire cache.
Cette similarité entre le premier algorithme 201A et le deuxième algorithme 202A permet de considérer leur réalisation dans un même bloc matériel.
Il est enfin notable qu'une autre mémoire cache peut également être mise en œuvre pour l'exécution du premier algorithme 201A.
Cette autre mémoire cache est notamment mise œuvre selon des conditions similaires à celles de la mémoire cache 202B.
Le bloc mémoire de protection 101 peut comprendre une mémoire immune contre l'effet de martelage de rang. Notamment, le bloc mémoire de protection 101 peut comprendre au moins une des mémoires choisies parmi : une mémoire SRAM, une mémoire MRAM (« mémoire volatile magnéto résistive »), une mémoire CNRAM (« mémoire volatile à nanotubes de carbone »). Toutefois, le bloc mémoire de protection 101, du fait de sa taille réduite, peut comprendre de la mémoire DRAM, du moment que celle si soit agencée ou rafraichie de telle façon qu'elle soit immune à l'effet de martelage de rang.
Architecture optimisée du dispositif mémoire de la présente invention pour la réalisation d'un circuit DRAM.
Le dispositif mémoire 10 selon la présente invention peut donc être un circuit DRAM qui comprend la première partie 102 et la deuxième partie 103. En d'autres termes, le circuit DRAM comprend physiquement le première et la deuxième partie et est configuré pour réaliser des accès indépendamment sur l'une et/ou l'autre de ces deux parties.
Le circuit DRAM comprend également le bloc mémoire de protection
101 mis en œuvre en combinaison avec le premier algorithme pour protéger la première partie 102.
Tel qu'énoncé précédemment, le bloc mémoire de protection 101 est dimensionné en fonction de la taille (ou de la capacité) de la première partie 102. Dans la mesure où, la première partie
102 est de taille réduite, il est donc possible de limiter également la taille du bloc mémoire de protection 101.
Ces effets de dimensionnement sont particulièrement avantageux dans le cadre de la présente invention. En effet, du fait de sa taille réduite, la première partie 102 du circuit DRAM peut présenter des performances d' accès très supérieures à la deuxième partie 103, permettant éventuellement de simplifier l'exécution du deuxième algorithme 202A.
L'architecture du circuit DRAM est également adaptée pour que le premier algorithme 201A et le deuxième algorithme 202A soient exécutés en tâche de fond et ne viennent, par conséquent, pas perturber le fonctionnement normal du circuit DRAM. Notamment, seules les opérations de rafraîchissement préventif déterminées par le deuxième algorithme doivent être insérées dans le trafic de commandes à destination de la deuxième partie de la mémoire DRAM.
A cette fin, et de manière non-limitative, il peut être considéré de transformer des commandes de rafraîchissement périodiques, à destination de la deuxième partie 103, en rafraîchissement préventif, notamment en imposant au moins l'une des conditions suivantes :
- par un allongement acceptable de la période des rafraîchissements périodique, du fait que certains rafraîchissements périodiques sont retardés car leurs créneaux temporels d'exécution ont été préemptés pour réaliser des rafraîchissements préventifs.
- par la présence d'un parallélisme interne de rafraîchissement : chaque commande de rafraîchissement périodique se traduisant en fait par le rafraîchissement de plusieurs rangs au lieu d'un seul, il est alors possible de transformer une fraction significative des commandes de rafraîchissements périodiques en rafraîchissement préventif .
De manière particulièrement avantageuse, la présente invention permet de considérer un bloc mémoire de protection 101 fait, du fait de sa petite taille, de mémoire DRAM en lieu et place de la mémoire SRAM.
Une mémoire DRAM de petite taille peut être configurée pour être immunisée des effets de martelage de rang.
Un tel objectif peut, par exemple, être atteint en imposant au moins l'une des conditions suivantes : - le mise en œuvre d'un blindage entre les rang de la mémoire DRAM ;
- la mise en œuvre d'un rafraîchissement périodique beaucoup plus fréquent de la mémoire DRAM ;
- l'utilisation de certains rangs seulement, les rangs utilisés étant séparés les uns des autres par un nombre suffisant de rangs inutilisés ;
- le regroupement de plusieurs point mémoires en un seul point mémoire
- l'utilisation localement de dessins (layout) des transistors et connections moins fins.
Enfin, l'homme du métier comprendra que le dispositif mémoire tel que décrit précédemment n'est pas limité à la seule considération d'une première partie, d'une deuxième partie, et d'un bloc mémoire de protection.
En effet, les principe de l'invention peuvent être généralisé à plus de niveaux. Notamment, les circuits mémoire du type « DRAM » peuvent être divisés en N parties, le circuit de contrôle peut pour sa part mettre en œuvre N algorithmes. Plus particulièrement, selon cette configuration, l'algorithme i, met en œuvre la partie i-1, (2 £ i £ N) et protège la partie i, tandis que la partie 1 est protégée par l'algorithme 1 et le bloc mémoire de protection. Le bloc mémoire de protection peut comprendre, au choix, une mémoire SRAM ou une partie de DRAM conçu spécifiquement pour être immune à l'effet de martelage de rang.
La figure 2 illustre un deuxième exemple de dispositif mémoire 10 conforme à la présente invention.
Ce deuxième exemple reprend pour l'essentiel l'ensemble des caractéristiques relatives au premier exemple illustré à la figure 1. Toutefois, dans ce deuxième exemple, le dispositif mémoire est dépourvu de bloc mémoire de protection 101, et ne met, par conséquent, pas en œuvre de première table telle que décrite dans le premier exemple.
Ainsi, selon cette configuration, le premier algorithme 201A comprend un algorithme probabiliste. A cet égard, l'homme du métier souhaitant mettre en œuvre un algorithme probabiliste pour consulter le document Y. Kim et al., "Flipping bits in memory without accessing them: An experimental study of DRAM disturbance errors, " 2014 ACM/IEEE 41st International Symposium on Computer Architecture (ISCA), Minneapolis, MN, USA, 2014, pp. 361-372, doi: 10.1109/ISCA.2014.6853210.
Ce document décrit en détails la mise en œuvre d'un algorithme probabiliste, nommé PARA (Probabilistic Adjacent Row Activation) destiné à la protéger une mémoire contre l'effet de martelage de rang de mémoire.
L'invention concerne également un contrôleur 1000 de mémoires DRAM 1100 illustré à la figure 3.
Le contrôleur 1000 est destiné à configurer une protection des mémoires DRAM 1100 contre un effet de martelage de rangs de mémoire. Notamment, la protection implique la mise en œuvre d'un circuit de contrôle 1200 et d'un bloc mémoire de protection 1101 d'une capacité prédéterminée.
Les mémoires DRAM, le circuit de contrôle 1200 et le bloc mémoire de protection 1101 reprennent l'essentiel des caractéristiques énoncées en relation avec le dispositif mémoire 10.
Le contrôleur 1000 est en particulier adapté pour déterminer la capacité totale des mémoires DRAM 1100 contrôlées par le contrôleur 1000. Notamment, si la capacité totale des mémoires DRAM 1100 excède une taille, dite taille seuil, au-delà de laquelle la protection par un algorithme mettant en œuvre une unique table sauvegardée dans le bloc mémoire de protection 1101 est impossible, le contrôleur divise la capacité totale des mémoires DRAM 1100. Cela survient notamment lorsque ladite table présente une taille supérieure à la capacité de stockage du bloc mémoire de protection.
Notamment, tel qu'illustré à la figure 4, les mémoires DRAM 1100 peuvent être divisées en N parties, avec N entier supérieur ou égal à 2. Chacune de ces parties est notée partie i pour i entier allant de 1 à N.
De manière avantageuse, la capacité des parties i va croissant pour i allant de 1 à N.
Le contrôleur 1000 configure également le circuit de contrôle 1200 pour qu'il puisse exécuter N algorithmes de protection contre l'effet de martelage de rang dits chacun algorithme 1200i pour i allant de 1 à N.
Chaque algorithme 1200i est en particulier destiné à protéger contre l'effet de martelage de rang la partie i au moyen d'une table i.
Chaque table i, pour i allant de 2 à N, est notamment sauvegardée dans la partie i-1, tandis que la table 1 est sauvegardée dans le bloc mémoire de protection 1101.
A contrario, si la capacité totale des mémoires DRAM n'excède pas la taille seuil le contrôleur 1000 configure le circuit de contrôle 1200 pour qu'il protège les mémoires DRAM 1100 au moyen d'un unique algorithme qui met en œuvre une table sauvegardée dans le bloc mémoire de protection 1101.
Le bloc mémoire de protection 1101 peut avantageusement comprendre une mémoire immune à l'effet de martelage de rang de mémoire. En particulier, le bloc mémoire de protection 1101 comprend au moins une des mémoires choisies parmi : une mémoire SRAM, une mémoire MRAM, ou mémoire CNRAM.
Toujours de manière avantageuse, le bloc mémoire de protection 1101 est compris dans le contrôleur 1000.
Selon un autre aspect, le bloc mémoire de protection 1101 comprend de la mémoire DRAM, avantageusement, le bloc mémoire de protection 1101 forme une partie 0 des mémoires DRAM 1100.
Enfin, le contrôleur 1000 peut comprendre le circuit de contrôle 1200.
Le contrôleur 1000 tel que décrit précédemment permet configuration efficace du circuit de contrôle 1200 afin de protéger des effet du martelage de rang des mémoires DRAM.
Ce contrôleur offre en particulier une solution flexible en termes de capacité de mémoire DRAM.
Bien sûr, l'invention n'est pas limitée aux modes de réalisation décrits et on peut y apporter des variantes de réalisation sans sortir du cadre de l'invention tel que défini par les revendications .

Claims

REVENDICATIONS
1. Dispositif mémoire (10) comprenant :
- des circuits mémoire (100), ces circuits comprennent des mémoires du type « DRAM », dont la capacité totale est divisée en une première partie (102), dite « partie directement protégée », et une deuxième partie (103), dite « partie indirectement protégée » de taille supérieure à la première partie (102) ;
- un circuit de contrôle (200) configuré pour accéder aux circuits mémoire, le circuit de contrôle comprend :
- un premier bloc (201) configuré pour exécuter un premier algorithme (201A) destiné à protéger la première partie
(102) d'un effet de martelage de rang ;
- un deuxième bloc (202) configuré pour exécuter un deuxième algorithme (202A) destiné à protéger la deuxième partie
(103) d'un effet de martelage de rang susceptible d'intervenir, le deuxième algorithme (202A) utilisant une table principale sauvegardée dans la première partie (102).
2. Dispositif mémoire selon la revendication 1, dans lequel le circuit de contrôle comprend un bloc fonctionnel (300) configuré pour exécuter des fonctions de calculs et des programmes dans la deuxième partie (103), et de manière avantageuse également dans la première partie (102).
3. Dispositif selon la revendication 1 ou 2, dans lequel la première partie (102) et la deuxième partie (103) sont agencées de sorte qu'un effet de martelage de rang imposé par un rang de l'une de la première partie (102) ou de la deuxième partie (103) ne soit pas ressenti par l'autre de la première partie (102) ou de la deuxième partie (103).
4. Dispositif selon la revendication 3, dans lequel la première partie (102) et la deuxième partie (103) sont configurées selon l'une des configurations suivantes:
- la première partie (102) et la deuxième partie (103) sont disjointes de manière à ne pas partager des circuits mémoire DRAMs ;
- la première partie (102) et la deuxième partie (103) comprennent chacune des bancs des circuits mémoire DRAM qui leur sont propres ;
- la première partie (102) et la deuxième partie (103), au sein d'un même banc de circuits mémoire DRAM, comprennent chacune un ou plusieurs sous-bancs qui leurs sont propres, lesdits sous-bancs sont alors agencés de sorte qu'un effet de martelage de rang exercé par un rang d'un sous banc de la première partie (102) ne soit pas ressenti par un sous- banc de la deuxième partie (103) et inversement ;
- la première partie (102) et la deuxième partie (103) ont en commun un banc de circuit mémoire DRAM, dit banc commun, ledit banc commun comprenant des rangs mémoire non utilisés et séparant une section du banc commun, associée à la première partie (102), d'une autre section du banc commun, associée à la deuxième partie (103), le nombre de rangs mémoire non utilisés étant choisis de sorte qu'aucun effet de martelage de rang n'intervienne entre chacune des deux sections du banc commun.
5. Dispositif selon la revendication 1 ou 2, dans lequel la première partie (102) et la deuxième partie (103) sont susceptibles d'exercer un effet de martelage de rang l'une sur l'autre, et dans lequel le premier algorithme (201A) et le deuxième algorithme (202A) sont configurés pour prévenir l'effet de martelage de rang de la première partie (102) sur la deuxième partie (103) et inversement.
6. Dispositif selon l'une des revendications 1 à 5, dans lequel le deuxième bloc (202) comprend une mémoire cache (202B) destinée à stocker des données de la table principale utilisée par le deuxième algorithme (202A).
7. Dispositif selon l'une des revendications 1 à 6, dans lequel la taille de la première partie (102) correspond à moins de 0,1% de la taille de la deuxième partie (103).
8. Dispositif selon l'une des revendications 1 à 7, dans lequel le premier algorithme est un algorithme probabiliste.
9. Dispositif selon l'une des revendications 1 à 7, dans lequel ledit dispositif mémoire (10) comprend en outre un bloc mémoire de protection (200) dans lequel est sauvegardé une table initiale mise en œuvre par le premier algorithme, avantageusement, le premier bloc (201) comprend également une mémoire cache destinée à stocker des données de la table initiale mise en œuvre par le premier algorithme (201A).
10. Dispositif selon la revendication 9, dans lequel le bloc mémoire de protection (200) comprend une mémoire immune contre l'effet de martelage de rang, notamment ladite mémoire comprend au moins une des mémoires choisies parmi : une mémoire de type SRAM, une mémoire de type MRAM, une mémoire de type CNRAM.
11. Dispositif selon l'une des revendications 1 à 10, dans lequel le bloc mémoire de protection (200) comprend une mémoire DRAM, et dans lequel les rangs de mémoire sont agencés de manière à prévenir tout martelage de rang au sein dudit bloc.
12. Contrôleur (1000) de mémoires DRAM (1000), le contrôleur étant destiné à configurer une protection desdites mémoires DRAM contre un effet de martelage de rangs de mémoire, la protection impliquant la mise en œuvre d'un circuit de contrôle (1200) et d'un bloc mémoire de protection (1101) d'une capacité prédéterminée, le contrôleur étant adapté pour : déterminer la capacité totale des mémoires DRAM contrôlées par le contrôleur (1000) ;
- si la capacité totale des mémoires DRAM excède une taille, dite taille seuil, au-delà de laquelle la protection par un algorithme mettant en œuvre une unique table sauvegardée dans le bloc mémoire de protection (1101) est impossible, le contrôleur (1000) divise la capacité totale des mémoires DRAM en N parties, N³2, dites chacune partie i pour i allant de 1 à N, N et i étant des valeurs entières, et configure le circuit de contrôle (1200) pour qu'il puisse exécuter N algorithmes de protection dits chacun algorithme i pour i allant de 1 à N, chaque algorithme i étant destiné à protéger contre l'effet de martelage de rang la partie i au moyen d'une table i, chaque table i, pour i allant de 2 à N étant sauvegardée dans la partie i-1, tandis que la table 1 est sauvegardée dans le bloc mémoire de protection (1101), si la capacité totale des mémoires DRAM n'excède pas la taille seuil le contrôleur configure le circuit de contrôle (1200) pour qu'il protège lesdites mémoires DRAM au moyen d'un unique algorithme qui met en œuvre une table sauvegardée dans le bloc mémoire de protection (1101).
13. Contrôleur selon la revendication 12, dans lequel la capacité des parties i va croissant pour i allant de 1 à N.
14. Contrôleur selon la revendication 12 ou 13, dans lequel le bloc mémoire de protection (1101) comprend une mémoire immune à l'effet de martelage de rang de mémoire, avantageusement le bloc mémoire de protection (1101) comprend au moins une des mémoires choisies parmi : une mémoire SRAM, une mémoire MRAM, ou mémoire CNRAM.
15. Contrôleur selon la revendication 14, dans lequel le bloc mémoire de protection (1101) est compris dans le contrôleur (1000).
16. Contrôleur selon la revendication 12 ou 13, dans lequel le bloc mémoire de protection (1101) comprend de la mémoire DRAM, avantageusement, le bloc mémoire de protection (1101) forme une partie 0 des mémoires DRAM.
17. Contrôleur selon l'une des revendications 12 à 16, dans lequel le circuit de contrôle (1200) est compris dans le contrôleur (1000).
PCT/FR2022/050256 2021-02-22 2022-02-11 Dispositif memoire pourvu de circuits memoire dram agences de maniere a minimiser la taille d'un bloc memoire permettant la gestion de l'effet de martelage de rang WO2022175619A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US18/277,961 US20240233800A9 (en) 2021-02-22 2022-02-11 Memory device provided with dram memory circuits arranged in such a way as to minimize the size of a memory block allowing management of the row-hammering
CN202280026421.4A CN117121106A (zh) 2021-02-22 2022-02-11 设置有按照使得最小化存储器块大小以允许管理行锤击效应的方式布置的dram存储器电路的存储器设备
KR1020237030067A KR20230147646A (ko) 2021-02-22 2022-02-11 행-해머링 효과를 관리할 수 있는 메모리 블록의 크기를 최소화하는 것과 같은 방식으로 배열된 dram 메모리 회로를 갖춘 메모리 디바이스

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2101677A FR3120153B1 (fr) 2021-02-22 2021-02-22 Dispositif mémoire pourvu de circuits mémoire DRAM agences de manière à minimiser la taille d’un bloc mémoire permettant la gestion de l’effet de martelage de rang
FRFR2101677 2021-02-22

Publications (1)

Publication Number Publication Date
WO2022175619A1 true WO2022175619A1 (fr) 2022-08-25

Family

ID=76601267

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2022/050256 WO2022175619A1 (fr) 2021-02-22 2022-02-11 Dispositif memoire pourvu de circuits memoire dram agences de maniere a minimiser la taille d'un bloc memoire permettant la gestion de l'effet de martelage de rang

Country Status (5)

Country Link
US (1) US20240233800A9 (fr)
KR (1) KR20230147646A (fr)
CN (1) CN117121106A (fr)
FR (1) FR3120153B1 (fr)
WO (1) WO2022175619A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3066842A1 (fr) 2017-05-24 2018-11-30 Upmem Logique de correction de row hammer pour dram avec processeur integre
US20200218469A1 (en) * 2019-01-03 2020-07-09 SK Hynix Inc. Memory system and operation method thereof
US10885966B1 (en) 2020-06-23 2021-01-05 Upmem Method and circuit for protecting a DRAM memory device from the row hammer effect

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3066842A1 (fr) 2017-05-24 2018-11-30 Upmem Logique de correction de row hammer pour dram avec processeur integre
US20200218469A1 (en) * 2019-01-03 2020-07-09 SK Hynix Inc. Memory system and operation method thereof
US10885966B1 (en) 2020-06-23 2021-01-05 Upmem Method and circuit for protecting a DRAM memory device from the row hammer effect

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SEYEDZADEH SEYED MOHAMMAD ET AL: "Mitigating Wordline Crosstalk Using Adaptive Trees of Counters", 2018 ACM/IEEE 45TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE (ISCA), IEEE, 1 June 2018 (2018-06-01), pages 612 - 623, XP033375523, DOI: 10.1109/ISCA.2018.00057 *
Y. KIM ET AL.: "Flipping bits in memory without accessing them: An experimental study of DRAM disturbance errors", 2014 ACM/IEEE 41ST INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE (ISCA), MINNEAPOLIS, MN, USA, 2014, pages 361 - 372, XP032619351, DOI: 10.1109/ISCA.2014.6853210

Also Published As

Publication number Publication date
FR3120153A1 (fr) 2022-08-26
FR3120153B1 (fr) 2024-02-16
US20240233800A9 (en) 2024-07-11
US20240135981A1 (en) 2024-04-25
KR20230147646A (ko) 2023-10-23
CN117121106A (zh) 2023-11-24

Similar Documents

Publication Publication Date Title
FR3066842B1 (fr) Logique de correction de row hammer pour dram avec processeur integre
FR3111730A1 (fr) Procédé et circuit de protection d’un dispositif de mémoire DRAM de l’effet de martelagede rang
FR2910653A1 (fr) Circuit integre, procede et systeme pour preextraction d'une memoire vive dynamique a une memoire vive statique
FR2774209A1 (fr) Procede de controle du circuit de lecture d'un plan memoire et dispositif de memoire correspondant
FR2946787A1 (fr) Procede de detection d'une attaque par injection de faute d'un dispositif de memoire, et dispositif de memoire correspondant
FR3074604A1 (fr) Memoire sram a effacement rapide
FR3025653A1 (fr) Dispositif a cellules memoires sram comportant des moyens de polarisation des caissons des transistors de lecture des cellules memoires
FR2894709A1 (fr) "detecteur de destruction anormale de secteur memoire"
EP3886361A1 (fr) Dispositif de fonction physiquement non clonable
WO2022175619A1 (fr) Dispositif memoire pourvu de circuits memoire dram agences de maniere a minimiser la taille d'un bloc memoire permettant la gestion de l'effet de martelage de rang
EP3080813B1 (fr) Système de gestion de l'usure d'une mémoire électronique
EP3080815B1 (fr) Système et procédé de gestion de l'usure d'une mémoire électronique
EP1691413A1 (fr) Composant électronique protégé contre les attaques.
WO2022207999A1 (fr) Dispositif memoire et procede de protection d'un dispositif memoire de l'effet de martelage d'un rang
FR2955195A1 (fr) Dispositif de comparaison de donnees dans une memoire adressable par contenu sur seoi
FR3006095A1 (fr) Cellule de memoire tcam et composant integrant une matrice de telles cellules
FR2875328A1 (fr) Cellule memoire sram protegee contre des pics de courant ou de tension
EP3382709B1 (fr) Cellule mémoire sram
FR3015103A1 (fr) Systeme d'ecriture de donnees dans une memoire
EP1633074A1 (fr) Circuit intégré à signal de sécurisation codé, procédé de sécurisation, dispositif et signal de sécurisation codé au moyen d'une clé dynamique correspondants.
WO2023104891A1 (fr) Dispositif mémoire dram mettant en œuvre un mécanisme de gestion du martelage de rang
EP2250561B1 (fr) Dispositif permettant l'utilisation d'un composant programmable dans un environnement radiatif naturel
WO2010128068A1 (fr) Procede de protection de circuits electroniques, dispositif et systeme mettant en œuvre le procede
EP3680904B1 (fr) Circuit de detection de donnee predominante dans une cellule memoire
TW202433486A (zh) 記憶體裝置及其保護方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22708983

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18277961

Country of ref document: US

ENP Entry into the national phase

Ref document number: 20237030067

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1020237030067

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22708983

Country of ref document: EP

Kind code of ref document: A1