CN115410619A - 存储器设备及控制行锤击的方法 - Google Patents
存储器设备及控制行锤击的方法 Download PDFInfo
- Publication number
- CN115410619A CN115410619A CN202210531918.3A CN202210531918A CN115410619A CN 115410619 A CN115410619 A CN 115410619A CN 202210531918 A CN202210531918 A CN 202210531918A CN 115410619 A CN115410619 A CN 115410619A
- Authority
- CN
- China
- Prior art keywords
- address
- row
- accesses
- entry
- address entry
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000012544 monitoring process Methods 0.000 claims abstract description 32
- 230000015654 memory Effects 0.000 claims description 136
- 230000006870 function Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 102100021568 B-cell scaffold protein with ankyrin repeats Human genes 0.000 description 3
- 101000971155 Homo sapiens B-cell scaffold protein with ankyrin repeats Proteins 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 102100035964 Gastrokine-2 Human genes 0.000 description 1
- 101001075215 Homo sapiens Gastrokine-2 Proteins 0.000 description 1
- 241000724291 Tobacco streak virus Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 229910000679 solder Inorganic materials 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/408—Address circuits
- G11C11/4087—Address decoders, e.g. bit - or word line decoders; Multiple line decoders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/406—Management or control of the refreshing or charge-regeneration cycles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
- Logic Circuits (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种控制行锤击的方法:在表示在行锤击监测时间范围内所访问的地址条目与访问数量之间的相关性的地址表中,将第一地址条目与具有最少的第二访问数量的第二地址条目进行交换,以及将所述第一地址条目与具有不是最大值的第三访问数量的第三地址条目随机地进行交换,从而防止黑客模式行锤击攻击被容易地执行。
Description
相关申请的交叉引用
本申请基于并要求于2021年5月26日在韩国知识产权局提交的韩国专利申请No.10-2021-0067897和于2021年10月13日在韩国知识产权局提交的韩国专利申请No.10-2021-0135933的优先权,所述专利申请的全部公开内容通过引用合并于此。
技术领域
本公开涉及半导体存储器设备,并且更具体地,涉及一种存储器设备及控制该存储器设备的方法,该存储器设备对行锤击地址随机地执行展平操作和随机选择操作,以防止导致行锤击信息丢失的黑客模式行锤击攻击。
背景技术
动态随机存取存储器(DRAM)是一种将数据的每个比特存储在存储器单元中的随机存取半导体存储器。使用半导体芯片的系统将DRAM用作系统的主存储器或工作存储器,以存储由主机使用的数据或指令和/或执行计算操作。通常,DRAM在主机的控制下写数据或读数据。当执行计算操作时,主机从DRAM取出指令和/或数据,执行指令,和/或使用数据来执行计算操作。当存在计算操作的结果时,主机将结果写到DRAM。
为了提高DRAM的容量和集成度,已经减小了DRAM的单元尺寸。一些基于DRAM的系统由于繁重的工作量而偶尔经历间歇性的故障。由于对单个存储器行的重复访问(例如,行锤击事件)而可能发生故障。因为靠近被重复访问的存储器单元行的存储器单元由于行锤击情况而被干扰,所以可能出现数据损坏。受行锤击情况影响的存储器单元可以通过目标刷新操作而被刷新。
为了管理行锤击情况,DRAM可以在预置的时间期间监测访问地址中被密集访问的锤击地址。DRAM可以将锤击地址存储在地址储存器的有限数量的寄存器中,生成指示物理上靠近与锤击地址相对应的存储器单元行的存储器单元行的地址的锤击刷新地址、以及连接到与锤击刷新地址相对应的存储器单元行的目标刷新存储器单元。
然而,出于干扰DRAM的行锤击管理操作的目的,攻击者可能使用诱骗行锤击地址。因为包括诱骗行锤击地址的访问地址被最近存储在地址储存器中,所以存储在地址储存器中的行锤击地址可能从地址储存器中被逐出,并且被监测的行锤击信息可能丢失。存在的问题在于被逐出的锤击地址易于受到行锤击。
因此,需要对抗黑客模式行锤击攻击的对策,该黑客模式行锤击攻击从地址储存器恶意逐出行锤击地址以导致行锤击信息丢失。
发明内容
本公开提供了一种包括控制逻辑电路的存储器设备及操作该存储器没备的方法,其中该控制逻辑电路用于防止从地址储存器恶意逐出被密集访问的行锤击地址以导致行锤击信息丢失的黑客模式行锤击攻击。
根据实施例,一种存储器设备包括:包括多个存储器单元行的存储器单元阵列。控制逻辑电路被配置为在行锤击监测时间范围内监测关于所述多个存储器单元行中的存储器单元行的行地址,并将所述行地址作为地址条目存储在地址表中,在所述地址表中存储了地址条目的访问数量。刷新控制电路被配置为在所述行锤击监测时间范围内刷新如下存储器单元行,所述存储器单元行物理上靠近与所述地址表中存储的具有最多访问数量的地址条目相对应的另一存储器单元行。所述控制逻辑电路对所述地址表中存储的地址条目执行基于计数器的展平操作和随机交换操作。
根据另一个实施例,一种控制逻辑电路包括:逻辑电路,指示在行锤击监测时间范围内所访问的行地址与访问数量之间的相关性。地址表存储与第一行地址相对应的第一地址条目和第一访问数量。第一交换电路被配置为从所述地址表选择具有作为所述地址表中的最少访问数量的第二访问数量的第二地址条目,并执行将所述第一地址条目与所述第二地址条目进行交换的第一交换操作。第二交换电路被配置为从所述地址表选择具有第三访问数量的第三地址条目,并执行与所述第一地址条目和所述第三地址条目有关的第二交换操作。所述第三访问数量在所述地址表中不是最大值。
根据另一个实施例,一种操作包括多个存储器单元行的存储器设备的方法包括:在行锤击监测时间范围内监测关于所述多个存储器单元行中的第一存储器单元行的第一行地址。将与所述第一行地址相对应的第一地址条目和第一访问数量存储在地址表中。从所述地址表选择具有作为所述地址表中的最少访问数量的第二访问数量的第二地址条目。执行与所述第一地址条目和所述第二地址条目有关的第一交换操作。从所述地址表随机地选择具有第三访问数量的第三地址条目,其中所述第三访问数量不具有所述地址表中的最大值。执行与所述第一地址条目和所述第三地址条目有关的第二交换操作。在所述行锤击监测时间范围内刷新如下存储器单元行,所述存储器单元行物理上靠近与所述地址表中存储的具有最多防问数量的地址条目相对应的另一存储器单元行。
附图说明
根据以下结合附图的详细描述,将更清楚地理解本公开的实施例,在附图中:
图1是示出根据本公开的示例实施例的包括用于控制行锤击的存储器设备的系统的图;
图2是示出根据本公开的示例实施例的存储器设备的框图;
图3是示出根据本公开的实施例的行锤击控制电路的框图;
图4是示出图2的存储器设备的刷新操作的图;
图5是示出重配置图3的地址表的示例的图;
图6是示出图3的行锤击控制电路的随机数生成器的图;
图7是示出根据本公开的实施例的控制逻辑电路的操作的流程图;
图8是示出根据本公开的实施例的控制逻辑电路的操作的流程图;
图9至图11是示出根据图8的操作针对每个时间点Ta至Td重配置的地址表的图;
图12是示出根据本公开的示例实施例的用于控制行锤击的存储器设备的图;以及
图13是示出根据本公开的示例实施例的包括用于控制行锤击的存储器设备的系统的框图。
具体实施方式
图1是示出根据本公开的示例实施例的包括用于控制行锤击的存储器设备的系统的图。
参考图1,系统100可以包括主机设备110和存储器设备120。主机设备110可以通过存储器总线130可通信地连接到存储器设备120。
主机设备110可以包括例如计算系统,诸如计算机、笔记本计算机、服务器、工作站、便携式通信终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、智能电话或可穿戴设备。备选地,主机设备110可以包括计算系统中所包括的一些组件,例如图形卡。
主机设备110可以是用于执行系统100中的一般计算操作的功能块,并且可以与中央处理单元(CPU)、数字信号处理器(DSP)、图形处理单元(GPU)或应用处理器(AP)相对应。主机设备110可以包括管理对存储器设备120的数据发送和接收的存储器控制器112。
存储器控制器112可以根据主机设备110的存储请求而访问存储器设备120。存储器控制器112可以包括用于执行与存储器设备120的接口操作(例如,选择与存储位置相对应的行和列,将数据写到存储位置或读取写入的数据)的存储器物理层接口(存储器PHY)。存储器PHY可以包括为信号、频率、定时、驱动、具体操作参数、以及存储器控制器112与存储器设备120之间的高效通信所需的功能而设置的物理或电气层和逻辑层。存储器PHY可以支持根据电子设备联合工程委员会(JEDEC)标准的双倍数据速率(DDR)和/或低功耗双倍数据速率(LPDDR)协议特性。
存储器控制器112可以通过存储器总线130连接到存储器设备120。为了附图的简洁,将时钟信号CK、命令/地址信号CA、数据DQ和芯片选择信号CS示出为均通过存储器控制器112与存储器设备120之间的存储器总线130中的一个信号线来提供,但是实际上均可以通过多个信号线或总线来提供。存储器控制器112与存储器设备120之间的信号线可以连接到它们的连接器。连接器可以包括引脚、焊球、信号线或其他硬件组件。
时钟信号CK可以通过存储器总线130的时钟信号线从存储器控制器112发送到存储器设备120。命令/地址信号CA可以通过存储器总线130中的命令/地址总线从存储器控制器112发送到存储器设备120。芯片选择信号CS可以通过存储器总线130中的芯片选择线从存储器控制器112发送到存储器设备120。例如,当芯片选择信号CS被激活到逻辑高电平时通过命令/地址总线发送的信号可以指示命令信号。数据DQ可以通过存储器总线130的由双向信号线组成的数据总线从存储器控制器112发送到存储器设备120或从存储器设备120发送到存储器控制器112。
在存储器控制器112的控制下,存储器设备120可以向其写数据DQ或从其读数据DQ,以及执行刷新操作。例如,存储器设备120可以包括双倍数据速率同步动态随机存取存储器(DDR SDRAM)设备。然而,本公开的范围不限于此,并且存储器设备120可以包括诸如LPDDR SDRAM、宽输入/输出(I/O)动态随机存取存储器(DRAM)、高宽带存储器(HBM)和混合存储器立方体(HMC)之类的易失性存储器设备中的任意一种。存储器设备120可以包括存储器单元阵列200和行锤击控制电路(RHC)210。
存储器单元阵列200可以包括多个字线、多个位线、以及在多个字线与多个位线的交叉处形成的多个存储器单元。存储器单元阵列200的存储器单元可以包括易失性存储器单元,例如DRAM单元。
行锤击控制电路210可以控制黑客模式的行锤击,该黑客模式的行锤击干扰行锤击信息,导致其从存储用于存储器单元阵列200的至少一个行锤击地址的地址表中丢失。行锤击控制电路210可以对地址表中存储的行锤击地址执行展平操作和随机选择操作,以防止具有较少访问数量的行锤击地址从寄存器中逐出。由行锤击控制电路210对行锤击地址随机地执行展平操作和随机选择操作,因此,攻击者可能无法确定存储器设备120如何控制行锤击。因为行锤击控制操作的随机性,所以黑客模式行锤击攻击可能无法容易地执行。因此,行锤击控制电路210可以防止行锤击信息丢失以及防止黑客模式行锤击攻击被容易地执行。
图2是示出根据本公开的实施例的存储器设备的框图。图2示出了图1中的被实现为DRAM的存储器设备120。要注意,图2所示的DRAM的配置是示例而不是实际DRAM的配置。此外,本公开不受图2所示的DRAM的示例配置限制。
参考图1和图2,存储器设备120可以包括存储器单元阵列200、行解码器202、列解码器206、输入/输出选通电路208、控制逻辑电路220、地址缓冲器230、刷新控制电路240、数据输入缓冲器260和数据输出缓冲器270。虽然图2未示出,但是存储器设备120还可以包括时钟缓冲器、模式寄存器集合(MRS)、存储体控制逻辑、电压生成电路等。
地址缓冲器230可以从存储器控制器112接收包括存储体地址、行地址ROW_ADDR和列地址COL_ADDR的地址ADDR。地址缓冲器230可以将接收的存储体地址提供给存储体控制逻辑部,将接收的行地址ROW_ADDR提供给行解码器202,并将接收的列地址COL_ADDR提供给列解码器206。
存储器单元阵列200可以包括以行列布置在矩阵中的多个存储器单元。存储器单元阵列200可以包括连接到多个存储器单元的多个字线WL和多个位线BL。多个字线WL可以连接到多个存储器单元的行,并且多个位线BL可以连接到多个存储器单元的列。连接到激活的字线WL的存储器单元的数据可以由连接到多个位线BL的读出放大器感测及放大。
存储器单元阵列200可以包括第一存储体BANK1至第四存储体BANK4。作为对存储体地址的响应,存储体控制逻辑可以生成存储体控制信号,并且作为对存储体控制信号的响应,可以激活第一存储体BANK1至第四存储体BANK4之中的与存储体地址相对应的存储体的行解码器202和列解码器206。虽然本实施例示出了包括四个存储体的存储器设备120的示例,但是存储器设备120可以根据实施例而包括任何数量的存储体。
行解码器202和列解码器206可以布置为与第一存储体BANK1至第四存储体BANK4中的每一个相对应,并且可以激活连接到与存储体地址相对应的存储体的行解码器202和列解码器206。行解码器202可以解码从地址缓冲器230接收的行地址ROW_ADDR,以从多个字线WL中选择与行地址ROW_ADDR相对应的字线WL,并且可以将选择的字线WL连接到激活多个字线WL的字线驱动器。
列解码器206可以从存储器单元阵列200的多个位线BL中选择特定的位线BL。列解码器206可以解码在突发模式下基于列地址COL_ADDR逐渐加+1的突发地址以生成列选择信号,并且可以将通过列选择信号选择的位线BL连接到输入/输出选通电路208。突发地址指可以用于读和/或写命令的根据突发长度BL访问的列位置的地址。
输入/输出选通电路208可以包括:读数据锁存器,用于存储通过列选择信号选择的位线BL的读数据;以及写驱动器,用于将写数据写入存储器单元阵列200。输入/输出选通电路208的读数据锁存器中存储的读数据可以通过数据输出缓冲器270提供给数据总线并且作为数据DQ输出给主机设备110。作为数据DQ从主机设备输出的写数据可以通过连接到数据总线的数据输入缓冲器260并且通过输入/输出选通电路208的写驱动器而写到存储器单元阵列200。
控制逻辑电路220可以接收时钟信号CK和命令CMD并且生成用于控制存储器设备120的操作定时和/或存储器操作的控制信号。控制逻辑电路220可以向存储器设备120的电路提供控制信号,以根据由MRS存储的操作及控制参数中的设置进行操作。控制逻辑电路220可以通过使用控制信号从存储器单元阵列200读数据以及向其写数据。虽然在图2中将控制逻辑电路220和地址缓冲器230示出为分离的组件,但是控制逻辑电路220和地址缓冲器230可以实现为一个不可分的组件。此外,虽然在图2中将命令CMD和地址ADDR示出为分离的信号,但是根据LPDDR标准等中的建议可以将地址视为包括在命令中。
控制逻辑电路220可以被配置为检测在行锤击监测时间范围内被密集访问的行锤击地址,以及执行物理上靠近与行锤击地址相对应的存储器单元行的存储器单元行的目标刷新操作。控制逻辑电路220可以将访问地址存储在地址表中,并且可以对地址表中存储的地址条目执行展平操作和随机选择操作。
控制逻辑电路220可以对地址表的地址条目随机地执行展平操作和随机选择操作,以防止具有较少访问数量的地址条目从地址表中逐出。由于在每个行锤击监测时间范围内对地址条目执行的展平操作和随机选择操作的随机性,控制逻辑电路220可以防止其中黑客试图从地址储存器中恶意逐出行锤击地址的黑客模式行锤击攻击被容易地执行。
控制逻辑电路220可以包括:行锤击控制电路210,用于在行锤击监测时间范围内控制黑客模式的诱骗行锤击。在下面参考图3描述行锤击控制电路210。在以下实施例中,描述了行锤击控制电路210控制黑客模式的诱骗行锤击,但是本公开的实施例不限于此。例如,可以将行锤击控制电路210描述为与设置在控制逻辑电路220中的配置相对应,并且可以将控制逻辑电路220描述为控制黑客模式的诱骗行锤击。
作为对刷新命令CMD的响应,控制逻辑电路220可以控制刷新控制电路240通过使刷新计数器值增加+1而执行正常刷新操作。此外,控制逻辑电路220可以控制刷新控制电路240基于行锤击地址RH_ADDR而执行目标行刷新操作。刷新控制电路240可以生成与要执行正常刷新操作和/或目标行刷新操作的存储器单元行相对应的刷新地址REF_ADDR。
图3是示出根据本公开的实施例的行锤击控制电路的框图。图4是示出图2的存储器设备的刷新操作的图。图5是示出重配置图3的地址表的示例的概念图。图6是示出图3的行锤击控制电路的随机数生成器的图。在下文中,行锤击控制电路统指在硬件、固件、软件或其组合中实现的用于控制或管理行锤击的电路。
参考图2和图3,行锤击控制电路210可以被配置为监测对存储器单元阵列200中的一个或多个存储器单元行的行锤击以及检测特定的存储器单元行的行锤击。特定的存储器单元行是指在预置的时间段期间具有最多访问数量或最多激活命令数量的存储器单元行。如图4所示,预置的时间段可以设置为JEDEC标准中定义的约32ms或约64ms的刷新窗口时间tREFw。根据实施例,预置的时间段可以设置为图4的基本刷新率时间tREFi。基本刷新率被定义为在32ms刷新窗口中的约8K的刷新命令REFRESH的数量。在下文中,预置的时间段可以被称为由控制逻辑电路220设置的行锤击监测时间范围或时间窗口。
行锤击控制电路210可以检测在行锤击监测时间范围内被密集访问的行锤击地址并防止黑客模式的诱骗行锤击。行锤击控制电路210可以包括地址表310、第一交换电路320、比较器电路330、随机数生成器340和第二交换电路350。地址表310可以包括分配给地址储存器312和计数器储存器314的寄存器。
如图5所示,地址表310的地址储存器312和计数器储存器314可以存储用于激活存储器单元阵列200的存储器单元行的访问地址和访问数量。图5中作为示例示出的地址表310包括四个寄存器,并且可以根据时间点T1至T3而被重配置。
假设在图5中在默认状态下地址表310的地址储存器312和计数器储存器314中预先存储了具有访问数量12的0x02地址条目、具有访问数量31的0x06地址条目、具有访问数量15的0x0A地址条目和具有访问数量27的0x0C地址条目。
当在时间T1处应用与0x0A存储器单元行相对应的访问地址时,地址储存器312中存储的0x0A地址条目的访问数量加1,因此,访问数量可以从15增加到16。当在时间T2处应用与0x02存储器单元行相对应的访问地址时,地址储存器312中存储的0x02地址条目的访问数量加1,因此,访问数量可以从12增加到13。然后,在时间T3处,可以应用与0x0E存储器单元行相对应的访问地址。可以将新的0x0E地址条目存储在地址表310中,但是因为地址表310满了而没有可用空间。因此,可以逐出具有最少访问数量13的0x02地址条目,并且可以将0x0E地址条目与访问数量1存储在可用空间中。要逐出的0x02地址条目是地址表310中具有最少访问的地址,但是随着0x02地址条目从地址表310中逐出,关于0x02地址的行锤击数据可能丢失。
以这种方式,攻击者可能出于使得行锤击地址从地址表310逐出的目的而使用地址表310中存储的诱骗条目。为了防止黑客模式的诸如诱骗条目的模式,行锤击控制电路210可以对地址表310中存储的地址条目随机地执行展平操作和随机选择操作。
在图3中,行锤击控制电路210可以接收用于激活存储器单元阵列200的存储器单元行的访问地址,并将具有第一访问数量(例如,1)的第一地址条目存储在地址表310的可用空间中。当地址表310中没有可用空间时,第一交换电路320可以从地址表310选择具有第二访问数量的第二地址条目,并执行将第一地址条目与第二地址条目进行交换的第一交换操作。第二访问数量可以设置为地址表310中存储的访问数量中的最少访问数量。
当将第一地址条目与第二地址条目进行交换时,第一交换电路320可以将第一地址条目的访问数量设置为从第二访问数量加1的第一值。因此,第一地址条目的访问数量可以从第一访问数量改变为第二访问数量+1。以这种方式执行的第一交换操作可以被称为基于计数器的展平操作。
比较器电路330可以从地址表310随机地选择具有第三访问数量的第三地址条目。第三访问数量可以设置为地址表310中存储的访问数量中的不是最大值的访问数量。
随机数生成器340可以被配置为随机地选择由比较器电路330选择的不是最大值的访问数量的地址之一。随机数生成器340可以通过使用用于生成随机数的算法来生成随机数。例如,随机数生成器340可以根据线性同余随机数生成算法、中平方随机数生成算法、梅森旋转随机数生成算法等生成随机数并输出随机数。此外,随机数生成器340可以具有用于生成随机数的硬件逻辑。
例如,随机数生成器340可以被配置为基于本原多项式生成和输出线性随机数序列的线性反馈移位寄存器(LFSR)。如图6所示,LFSR可以包括移位寄存器单元601、反馈常数单元602和线性反馈函数单元603。
参考图6,移位寄存器单元601可以包括n个移位寄存器S0、S1、…、Sn-1,移位寄存器S0、S1、…、Sn-1可以接收线性反馈函数单元603的输出P并使其移位,并且移位寄存器S0、S1、…、Sn-1可以分别将其输出一对一地发送给反馈常数单元602的各级。
反馈常数单元602采用模式值0和1作为本原多项式的系数并输出值Ci(C0=1,I=1、2、…),其指示与移位寄存器单元601的连接状态。反馈常数单元602可以接收从移位寄存器单元601输出的比特s0、s1、…、sn-1并将其输出和常数值Ci(C0=1,I=1、2、…)发送给线性反馈函数单元603。
线性反馈函数单元603可以接收从反馈常数单元602输出的比特s0、s1、…、Sn-1,根据等式1生成输出P,并将输出P发送给移位寄存器单元601。
等式1
P=s0+C1s1+…+Cn-1sn-1
线性反馈移位寄存器(LFSR)的操作过程如下。线性反馈函数单元603可以计算输出P并将其输出。然后,移位寄存器单元601输出所有的比特s0、s1、…、sn-1,并且接收线性反馈函数单元603的输出P且使其移位。移位寄存器S0、S1、…、Sn-1将比特s0、s1、…、sn-1输出给反馈常数单元602。每当重复该操作过程时从移位寄存器单元601输出的所有比特s0、s1、…、sn-1可以作为随机值输出。基于从移位寄存器单元601输出的随机值,比较器电路330可以从地址表310随机地选择具有不是最大值的第三访问数量的地址条目。
返回参考图3,第二交换电路350可以执行与第三地址条目和第一地址条目有关的第二交换操作,其中第三地址条目具有由比较器电路330和随机数生成器340从地址表310随机地选择的第三访问数量。第二交换操作可以是以下随机交换操作:其中,第一地址条目的第二访问数量+1与第三访问数量进行交换。根据实施例,第二交换操作可以是其中将第一地址条目与第三地址条目进行交换的随机交换操作。
图7是示出根据本公开的实施例的控制逻辑电路的操作的流程图。
参考图7并结合图1至图6,系统100可以在操作S710中执行初始化。当系统100上电时,存储器控制器112和存储器设备120可以根据预置方法执行初始设置操作。可以在存储器设备120的初始化中设置默认操作参数。例如,可以设置行锤击监测时间范围tREFi。此外,可以在每个行锤击监测时间范围tREFi将地址表310重置为空。
在操作S720中,控制逻辑电路220可以执行监测行锤击的操作。在监测行锤击的操作(操作S720)中,控制逻辑电路220可以对在行锤击监测时间范围tREFi内要访问的地址的访问数量进行计数,并将访问地址和访问数量存储在地址表310中。
在操作S730中,控制逻辑电路220可以对在操作S720中获得并且被存储在地址表310中的访问地址条目执行基于计数器的展平操作和随机交换操作。将参考图8详细描述展平操作和随机交换操作S730。
在操作S740中,控制逻辑电路220可以确定是否经过了行锤击监测时间范围tREFi。当未经过行锤击监测时间范围tREFi(否)时,处理可以进行到操作S720。控制逻辑电路220可以重复操作S720中对访问地址的行锤击监测操作。否则,当经过了行锤击监测时间范围tREFi(是)时,处理可以进行到操作S750。
在操作S750中,控制逻辑电路220可以基于具有地址表310中存储的地址条目的访问数量中的最大访问数量的地址条目来执行目标行刷新操作。控制逻辑电路220可以向刷新控制电路240提供具有最大访问数量的地址条目作为行锤击地址RH_ADDR。刷新控制电路240可以生成指示物理上靠近与行锤击地址RH_ADDR相对应的存储器单元行的存储器单元行的地址的锤击刷新地址和连接到与锤击刷新地址相对应的存储器单元行的目标刷新存储器单元。在执行操作S750的目标行刷新操作之后,处理进行到操作S710,因此,可以清空地址表310中的地址条目和访问数量。
图8是示出根据本公开的实施例的控制逻辑电路的操作的流程图。图8是具体说明参考图7所描述的基于计数器的展平操作和随机交换操作S730的流程图。图9至图11是示出根据图8的操作流程在每个时间点Ta至Td处重配置的地址表310的图。
首先,控制逻辑电路220可以根据参考图7所描述的行锤击监测操作(操作S720)将访问地址条目和访问数量存储在地址表310中。如图9所示,假设地址表310中的地址储存器312和计数器储存器314由四个寄存器组成。例如,假设在图9的地址表310中的地址储存器312和计数器储存器314中预先存储了具有访问数量32的0x02地址条目、具有访问数量15的0x06地址条目、具有访问数量8的0x0A地址条目和具有访问数量92的0x0C地址条目。
参考图8并结合图1至图7,控制逻辑电路220可以在操作S800中接收第一行地址以及行激活命令。在操作S810中,控制逻辑电路220可以确定接收的第一行地址是否与地址表310中存储的地址条目相匹配。根据确定的结果,当接收的第一行地址与地址条目相匹配(是)时,处理可以进行到操作S820,而当接收的第一行地址与地址条目不相匹配(否)时,处理可以进行到操作S830。在操作S820中,控制逻辑电路220可以使相匹配的地址条目的计数器值加1。
在操作S830中,控制逻辑电路220可以确定是否因为地址表310的地址条目满了而没有可用空间。根据确定的结果,当存在可用空间(否)时,处理可以进行到操作S840,而当不存在可用空间时,处理可以进行到操作S831。在操作S840中,控制逻辑电路220可以将第一行地址条目存储在地址表310的可用空间中。
在操作S831中,控制逻辑电路220可以对地址表310的地址条目执行基于计数器的展平操作。控制逻辑电路220可以从地址表310中存储的地址条目中选择具有最少访问数量的地址条目。控制逻辑电路220可以通过使用第一交换电路320将具有最少访问数量的地址条目与第一行地址条目进行交换。
在图9的时间点Ta和Tb处,可以执行操作S831。在时间点Ta处,可以访问0x0E地址条目。当接收的0x0E地址条目与地址表310中存储的地址条目不相匹配(操作S810)并且地址表310中不存在可用空间(操作S830)时,控制逻辑电路220可以选择具有最少访问数量8的0x0A地址条目。第一交换电路320可以将选择的0x0A地址条目与0x0E地址条目进行交换。可以用要存储在地址表310中的0x0E地址条目替换0x0A地址条目。在这种情况下,第一交换电路320可以存储通过将被交换的0x0A地址条目的访问数量8加上第一值(例如,1)所获得的0x0E地址条目的访问数量。例如,0x0E地址条目的访问数量可以存储为9。
在操作S832中,控制逻辑电路220可以对地址表310的地址条目执行随机选择操作。控制逻辑电路220可以通过使用随机数生成器340随机地选择地址表310的地址条目中的任意一个。
在操作S833中,控制逻辑电路220可以通过使用比较器电路330确定在操作S832中通过随机选择操作所选择的地址条目的访问数量是否不是最大值。根据确定的结果,当访问数量是最大值(否)时,处理可以进行到操作S832,而当访问数量不是最大值(是)时,处理可以进行到操作S834。操作S832和操作S833可以重复,直到具有除了最大值以外的访问数量的地址条目被选择为止。
在图10的时间点Tc处,可以执行操作S832和操作S833。在时间点Tc处,比较器电路330可以从地址表310选择除了作为最大值的访问数量92以外的访问数量32和15中的一个。例如,可以通过比较器电路330选择访问数量15。
在操作S834中,控制逻辑电路220可以对地址表310的地址条目执行随机交换操作。控制逻辑电路220可以通过使用第二交换电路350将由比较器电路330选择的不是最大值的访问数量与第一行地址条目的访问数量进行交换。
在图11的时间点Td处,可以执行操作S834。在时间点Td处,第二交换电路350可以将在操作S832和操作S833中选择的不是最大访问数量的访问数量15与0x0E地址条目的访问数量9进行交换。因此,0x0E地址条目的访问数量可以从9改变为15,并且0x06地址条目的访问数量可以从15改变为9。根据实施例,0x0E地址条目可以与0x06地址条目进行交换而不是仅仅被增加访问的数量。
攻击者可能无法确定以这种方式对地址表310中存储的地址条目随机地执行了展平操作和随机交换操作S730。此外,由于在每个行锤击监测时间范围内的展平操作和随机交换操作S730的随机性,黑客模式的诱骗行锤击攻击可能无法容易地执行。因此,控制逻辑电路220可以防止行锤击信息丢失并防止黑客模式行锤击攻击被容易地执行。
图12是示出根据本公开的示例实施例的用于控制行锤击的存储器设备的图。图12示出了图1中的在HBM中实现的存储器设备120。要注意,图12所示的HBM配置是作为示例提供的并且不是实际的HBM配置。此外,本公开不受图12所示的HBM配置的示例的限制。在下文中,在不同附图中附到相同参考数字的脚注(例如,120a的a)用于区分具有类似或相同功能的多个电路。为了便于描述,存储器设备120a在下文可以被称为HBM。
参考图1和图12,HBM120a可以通过JEDEC标准的HBM协议连接到主机设备110。HBM协议是用于三维堆叠存储器(例如,DRAM)的高性能随机存取存储器(RAM)接口。相比于其他DRAM技术(例如,DDR4、图形DDR5(GDDR5)等),HBM 120a通常以实质上更小的形状因子实现更宽的宽带同时消耗更少的功率。
HBM 120a可以通过包括具有彼此独立的接口的多个通道CH1至CH8而具有高的宽带。HBM 120a可以包括多个管芯,例如逻辑管芯910(或缓冲器管芯)和堆叠在逻辑管芯910上的一个或多个核心管芯920。图12示出了在HBM 120a中设置第一核心管芯921至第四核心管芯924的示例,但是核心管芯920的数量可以进行不同的改变。核心管芯920可以被称为存储器管芯。
第一核心管芯921至第四核心管芯924中的每一个可以包括一个或多个通道。图12示出了第一核心管芯921至第四核心管芯924中的每一个包括两个通道并且HBM 120a包括八个通道CH1至CH8的示例。例如,第一核心管芯921可以包括第一通道CHl和第三通道CH3,第二核心管芯922可以包括第二通道CH2和第四通道CH4,第三核心管芯923可以包括第五通道CH5和第七通道CH7,并且第四核心管芯924可以包括第六通道CH6和第八通道CH8。
逻辑管芯910可以包括与主机设备110通信的接口电路911,并且通过接口电路911从主机设备110接收命令/地址信号和数据。主机设备110可以通过与第一通道CH1至第八通道CH8相对应的总线130发送命令/地址信号和数据,并且总线130可以形成为针对每个通道进行划分,或者总线130中的一些总线可以由至少两个通道共享。接口电路911可以向主机设备110请求存储器操作或算术处理所通过的通道发送命令/地址信号和数据。此外,根据本公开的示例实施例,每个核心管芯920或每个通道可以包括存储器中处理器(PIM)电路。
主机设备110可以提供命令/地址信号和数据,以使多个算术运算或内核中的至少一些可以由HBM 120a执行,并且由主机设备110指定的通道的PIM电路可以执行算术处理。例如,当接收的命令/地址信号指示算术处理时,对应通道的PIM电路可以通过使用从主机设备110提供的写数据和/或从对应通道读取的数据来执行算术处理。在另一示例中,当通过HBM 120a的对应通道接收的命令/地址信号指示存储器操作时,可以执行对数据的访问操作。
根据实施例,第一通道CH1至第八通道CH8中的每一个可以包括多个存储体,并且一个或多个处理元件可以设置在第一通道CH1至第八通道CH8中的每一个中的PIM电路中。例如,每个通道中的处理元件的数量可以等于存储体的数量,或者当处理元件的数量少于存储体的数量时,一个处理元件可以在至少两个存储体之间共享。第一通道CH1至第八通道CH8中的每一个中的PIM电路可以执行由主机设备110卸载的内核。
根据实施例,第一通道CH1至第八通道CH8中的每一个可以包括参考图1至图11所描述的行锤击控制电路210。第一通道CH1至第八通道CH8中的每一个可以包括:表示在行锤击监测时间范围tREFi内所访问的行地址与访问数量之间的相关性的逻辑电路,并且该逻辑电路可以包括:存储了与第一行地址相对应的第一地址条目和第一访问数量的地址表。第一通道CH1至第八通道CH8中的每一个可以执行将第一地址条目与地址表中具有最少的第二访问数量的第二地址条目进行交换的展平操作和随机选择操作,并且可以随机地执行将第一地址条目与地址表中具有不是最大值的第三访问数量的第三地址条目进行交换的随机交换操作。因此,第一通道CH1至第八通道CH8中的每一个可以防止具有较少访问数量的地址条目从寄存器逐出,并且可以防止黑客模式行锤击攻击被容易地执行。
此外,逻辑管芯910还可以包括硅通孔(TSV)区912、HBM物理层接口(HBM PHY)区913和串行器/解串器(SERDES)区914。TSV区912是形成用于与核心管芯920连通的TSV的区域并且是形成与第一通道CH1至第八通道CH8相对应的总线130的区域。当第一通道CH1至第八通道CH8中的每一个具有128比特的带宽时,TSV可以包括用于1024比特的数据输入/输出的配置。
HBM PHY区913可以包括用于与存储器控制器112和第一通道CH1至第八通道CH8通信的多个输入/输出电路,并且例如,HBM PHY区913可以包括用于将第一通道CH1至第八通道CH8连接到存储器控制器112的一个或多个互连电路。HBM PHY区913可以包括为信号、频率、定时、驱动、具体操作参数、以及存储器控制器112与第一通道CH1至第八通道CH8之间的高效通信所需的功能而设置的物理或电气层和逻辑层。HBM PHY区913可以执行存储器接口操作,例如针对对应的通道选择与存储器单元相对应的行和列,将数据写入存储器单元,或从存储器单元读取写入的数据。HBM PHY区913可以支持JEDEC标准的HBM协议的特征。
SERDES区914是用于根据主机设备110的处理器的处理吞吐量增加以及根据对存储器宽带的需求增加而提供JEDEC标准的SERDES接口的区域。SERDES区914可以包括SERDES发送器、SERDES接收器和控制器。SERDES发送器可以包括并串转换电路和发送器,接收并行数据流,并将接收的并行数据流串行化。SERDES接收器可以包括接收放大器、均衡器、时钟及数据恢复电路、以及用于接收串行数据流并将接收的串行数据流并行化的串并转换电路。控制器可以包括错误检测电路、错误校正电路和寄存器,例如先入先出(FIFO)。
图13是示出根据本公开的实施例的包括用于控制行锤击的存储器设备的系统的框图。
参考图13,系统1000可以包括相机1100、显示器1200、音频处理器1300、调制解调器1400、DRAM 1500a和1500b、闪存1600a和1600b、I/O设备1700a和1700b、以及应用处理器(AP)1800。系统1000可以被实现为膝上型计算机、移动电话、智能电话、平板个人计算机(PC)、可穿戴设备、卫生保健设备或物联网(IOT)设备。此外,系统1000可以被实现为服务器或PC。
相机1100可以根据用户的控制来捕捉静止图像或运动图像,并且可以在其中存储捕捉的图像或图像数据或将捕捉的图像或图像数据发送给显示器1200。音频处理器1300可以处理闪存1600a和1600b或网络的内容中所包括的音频数据。调制解调器1400可以调制信号并且通过有线/无线通信发送经调制的信号,并且接收器可以接收和解调经调制的信号以获得原始信号。I/O设备1700a和1700b可以包括具有数字输入功能和/或数字输出功能的设备,例如通用串行总线(USB)或储存器、数码相机、安全数字(SD)卡、数字多功能盘(DVD)、网络适配器或触摸屏。
AP1800可以使用控制器1810和接口1830整体地控制系统1000的操作。AP1800可以控制显示器1200以使闪存1600a和1600b中所存储的内容中的一些内容显示在显示器1200上。当通过I/O设备1700a和1700b接收到用户输入时,AP 1800可以执行与用户输入相对应的控制操作。AP 1800可以包括加速器块,其是用于人工智能(AI)数据运算的专用电路,或者可以包括与AP 1800分开的加速器1820。DRAM 1500b可以另外安装在加速器块或加速器1820中。加速器1820可以包括执行AP 1800的特定功能的功能块,并且加速器1820可以包括作为用于处理图形数据的功能块的GPU、作为用于执行AI计算和推断的块的神经处理单元(NPU)、以及作为用于发送数据的块的数据处理单元(DPU)。
系统1000可以包括多个DRAM 1500a和1500b。AP 1800可以通过遵守JEDEC标准的命令和模式寄存器(MRS)设置来控制DRAM1500a和1500b,或者可以设置用于通信的DRAM接口协议以使用特定于公司的功能,例如,低电压、高速度和可靠性以及循环冗余校验(CRC)/纠错码(ECC)功能。例如,AP 1800可以通过遵守JEDEC标准的接口(例如,LPDDR4或LPDDR5)与DRAM 1500a通信,并且加速器块或加速器1820可以设置用于通信的新的DRAM接口协议,以控制用于加速器1820的具有比DRAM1500a高的宽带的DRAM1500b。
在图13中仅示出了DRAM 1500a和1500b,但是不限于此,并且当满足AP 1800或加速器1820的宽带、响应速度和电压条件时,可以使用诸如相变随机存取存储器(PRAM)、静态随机存取存储器(SRAM)、磁性随机存取存储器(MRAM)、电阻式随机存取存储器(RRAM)、铁电式随机存取存储器(FRAM)或混合式随机存取存储器的任意类型的存储器。DRAM 1500a和1500b相比于I/O设备1700a和1700b或闪存1600a和1600b具有相对较小的延迟和相对较小的带宽。DRAM1500a和1500b可以在系统1000上电时被初始化,当操作系统和应用数据被加载时被用作用于操作系统和应用数据的暂时性储存器,或者被用作用于各种软件代码的执行空间。
DRAM1500a和1500b可以执行加减乘除运算、矢量运算、地址运算或快速傅里叶变换(FFT)运算。此外,DRAM 1500a和1500b可以执行用于推断的功能。此处,可以通过使用人工神经网络的深度学习算法来执行推断。深度学习算法可以包括通过各种数据学习模型的训练操作以及通过使用经学习的模型而识别数据的推断操作。在实施例中,对由用户通过相机1100捕捉的图像进行信号处理并将其存储在DRAM1500b中,并且加速器块或加速器1820可以执行通过使用用于DRAM 1500b中所存储的数据的函数来识别数据的AI数据运算以及推断。
系统1000可以包括具有比DRAM1500a和1500b的容量大的容量的多个储存器或多个闪存1600a和1600b。加速器块或加速器1820可以通过使用闪存器件1600a和1600b来执行训练操作和AI数据运算。在实施例中,通过使用存储器控制器1610中所包括的计算设备,闪存1600a和1600b可以更高效地执行由AP 1800和/或加速器1820执行的训练操作以及推断、AI数据运算。闪存1600a和1600b可以存储由相机1100拍摄的照片或通过数据网络发送的数据。例如,闪存1600a和1600b可以存储增强现实/虚拟现实以及高清(HD)或超高清(UHD)内容。闪存1600a和1600b中的每一个可以将信息存储在闪存器件1620中。
系统1000中的DRAM 1500a和1500b可以包括参考图1至图11所描述的行锤击控制电路。DRAM 1500a和1500b可以包括:表示在行锤击监测时间范围tREFi内所访问的行地址与访问数量之间的相关性的逻辑电路,并且该逻辑电路可以包括:存储了与第一行地址相对应的第一地址条目和第一访问数量的地址表。DRAM 1500a和1500b可以执行将第一地址条目与地址表中具有最少的第二访问数量的第二地址条目进行交换的展平操作和随机选择操作,并且可以随机地执行将第一地址条目与地址表中具有不是最大值的第三访问数量的第三地址条目进行交换的随机交换操作。因此,DRAM 1500a和1500b可以防止具有较少访问数量的地址条目从寄存器逐出并防止黑客模式行锤击攻击被容易地执行。
如在本领域中常见的,可以围绕执行期望功能的块来描述和示出实施例。在本文中可以称为单元或模块等的这些块通过诸如逻辑门、集成电路、微处理器、微控制器、存储器电路、无源电子组件、有源电子组件、光学组件、硬连线电路等的模拟和/或数字电路物理地实现,并且可以可选地由固件和/或软件驱动。例如,电路可以实现在一个或多个半导体芯片中,或者实现在诸如印刷电路板等的衬底支撑件上。构成块的电路可以由专用硬件或由处理器(例如,一个或多个编程的微处理器和相关联的电路)来实现,或者由用于执行该块的一些功能的专用硬件和用于执行该块的其他功能的处理器的组合来实现。在不脱离本公开的范围的情况下,实施例的每个块可以物理地分成两个或更多个交互和分立的块。类似地,在不脱离本公开的范围的情况下,实施例的块可以物理地组合成更复杂的块。实施例的一个方面可以通过存储在非暂时性存储介质中并由处理器执行的指令来实现。
尽管已经参考本公开的实施例具体示出和描述了本公开,但是应当理解,在不脱离所附权利要求的精神和范围的情况下,可以在其中进行形式和细节上的各种改变。
Claims (20)
1.一种存储器设备,包括:
存储器单元阵列,包括多个存储器单元行;
控制逻辑电路,被配置为在行锤击监测时间范围内监测关于所述多个存储器单元行中的存储器单元行的行地址,并将所述行地址作为地址条目存储在地址表中,其中在所述地址表中存储了地址条目的访问数量;以及
刷新控制电路,被配置为在所述行锤击监测时间范围内刷新如下存储器单元行,所述存储器单元行物理上靠近与所述地址表中存储的具有最多访问数量的地址条目相对应的另一存储器单元行,其中
所述控制逻辑电路对所述地址表中存储的地址条目执行基于计数器的展平操作和随机交换操作。
2.根据权利要求1所述的存储器设备,其中,所述控制逻辑电路接收第一行地址,并将所述第一行地址作为具有第一访问数量的第一地址条目存储在所述地址表的可用空间中。
3.根据权利要求2所述的存储器设备,其中,所述第一访问数量被设置为1。
4.根据权利要求1所述的存储器设备,其中:
所述控制逻辑电路接收第一行地址,当所述地址表中没有可用空间时从所述地址表选择具有第二访问数量的第二地址条目,并执行将与所述第一行地址相对应的第一地址条目与所述第二地址条目进行交换的第一交换操作,并且
所述第二访问数量是所述地址表中的最少访问数量。
5.根据权利要求4所述的存储器设备,其中,所述控制逻辑电路通过将所述第一地址条目的访问数量设置为通过使所述第二访问数量加1所获得的第一值来执行所述基于计数器的展平操作。
6.根据权利要求5所述的存储器设备,其中:
所述控制逻辑电路从所述地址表随机地选择具有第三访问数量的第三地址条目,并执行与所述第一地址条目和所述第三地址条目有关的第二交换操作,并且
所述第三访问数量在所述地址表中不是最大值。
7.根据权利要求6所述的存储器设备,其中,所述第二交换操作是将所述第一地址条目的所述第一值的访问数量与所述第三访问数量进行交换的随机交换操作。
8.根据权利要求6所述的存储器设备,其中,所述第二交换操作是将所述第一地址条目与所述第三地址条目进行交换的随机交换操作。
9.根据权利要求1所述的存储器设备,其中,在经过所述行锤击监测时间范围之后,所述控制逻辑电路将所述地址表重置为可用空间。
10.根据权利要求1所述的存储器设备,其中,所述控制逻辑电路将所述存储器设备中规定的基本刷新率时间用作所述行锤击监测时间范围。
11.一种控制逻辑电路,包括:
逻辑电路,指示在行锤击监测时间范围内所访问的行地址与访问数量之间的相关性,并且包括存储与第一行地址相对应的第一地址条目和第一访问数量的地址表;
第一交换电路,被配置为从所述地址表选择具有作为所述地址表中的最少访问数量的第二访问数量的第二地址条目,并执行将所述第一地址条目与所述第二地址条目进行交换的第一交换操作;以及
第二交换电路,被配置为从所述地址表选择具有第三访问数量的第三地址条目,并执行与所述第一地址条目和所述第三地址条目有关的第二交换操作,其中
所述第三访问数量在所述地址表中不是最大值。
12.根据权利要求11所述的控制逻辑电路,其中,所述控制逻辑电路还包括:随机数生成器,被配置为从所述地址表随机地选择所述第三地址条目。
13.根据权利要求11所述的控制逻辑电路,其中,当将所述第一地址条目与所述第二地址条目进行交换时,所述第一交换电路将通过使所述第二访问数量加1所获得的第一值设置为所述第一地址条目的访问数量,并对所述地址表中存储的地址条目执行展平操作。
14.根据权利要求13所述的控制逻辑电路,其中,所述第二交换电路执行将所述第一地址条目的所述第一值的访问数量与所述第三访问数量进行交换的随机交换操作。
15.根据权利要求13所述的控制逻辑电路,其中,所述第二交换电路执行将所述第一地址条目与所述第三地址条目进行交换的随机交换操作。
16.根据权利要求11所述的控制逻辑电路,其中,在经过所述行锤击监测时间范围之后,所述逻辑电路将所述地址表重置为可用空间。
17.根据权利要求11所述的控制逻辑电路,其中,包括所述控制逻辑电路的存储器设备中所定义的基本刷新率时间被用作所述行锤击监测时间范围。
18.一种操作包括多个存储器单元行的存储器设备的方法,所述方法包括:
在行锤击监测时间范围内监测关于所述多个存储器单元行中的第一存储器单元行的第一行地址;
将与所述第一行地址相对应的第一地址条目和第一访问数量存储在地址表中;
从所述地址表选择具有作为所述地址表中的最少访问数量的第二访问数量的第二地址条目;
执行与所述第一地址条目和所述第二地址条目有关的第一交换操作;
从所述地址表随机地选择具有第三访问数量的第三地址条目,其中所述第三访问数量不具有所述地址表中的最大值;
执行与所述第一地址条目和所述第三地址条目有关的第二交换操作;以及
在所述行锤击监测时间范围内刷新如下存储器单元行,所述存储器单元行物理上靠近与所述地址表中存储的具有最多访问数量的地址条目相对应的另一存储器单元行。
19.根据权利要求18所述的方法,其中,将与所述第一行地址相对应的所述第一地址条目和所述第一访问数量存储在所述地址表中还包括:将具有所述第一访问数量的所述第一地址条目存储在所述地址表的可用空间中。
20.根据权利要求19所述的方法,其中,所述第一访问数量被设置为1。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0067897 | 2021-05-26 | ||
KR20210067897 | 2021-05-26 | ||
KR1020210135933A KR20220159860A (ko) | 2021-05-26 | 2021-10-13 | 로우 해머 제어 방법 및 메모리 장치 |
KR10-2021-0135933 | 2021-10-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115410619A true CN115410619A (zh) | 2022-11-29 |
Family
ID=81388814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210531918.3A Pending CN115410619A (zh) | 2021-05-26 | 2022-05-16 | 存储器设备及控制行锤击的方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US12027199B2 (zh) |
EP (1) | EP4095701A1 (zh) |
CN (1) | CN115410619A (zh) |
TW (1) | TWI814393B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230114414A1 (en) * | 2021-09-28 | 2023-04-13 | Advanced Micro Devices, Inc. | Method and apparatus for protecting memory devices via a synergic approach |
US20230385206A1 (en) * | 2022-05-31 | 2023-11-30 | Microsoft Technology Licensing, Llc | Detecting and mitigating memory attacks |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9236110B2 (en) | 2012-06-30 | 2016-01-12 | Intel Corporation | Row hammer refresh command |
US8938573B2 (en) | 2012-06-30 | 2015-01-20 | Intel Corporation | Row hammer condition monitoring |
US9269436B2 (en) * | 2013-03-12 | 2016-02-23 | Intel Corporation | Techniques for determining victim row addresses in a volatile memory |
US9431085B2 (en) | 2014-03-28 | 2016-08-30 | Synopsys, Inc. | Most activated memory portion handling |
KR20170024307A (ko) | 2015-08-25 | 2017-03-07 | 삼성전자주식회사 | 내장형 리프레쉬 콘트롤러 및 이를 포함하는 메모리 장치 |
US9812185B2 (en) | 2015-10-21 | 2017-11-07 | Invensas Corporation | DRAM adjacent row disturb mitigation |
US10410710B2 (en) | 2017-12-27 | 2019-09-10 | Micron Technology, Inc. | Systems and methods for performing row hammer refresh operations in redundant memory |
KR102358563B1 (ko) | 2018-05-09 | 2022-02-04 | 삼성전자주식회사 | 로우 해머 핸들링과 함께 리프레쉬 동작을 수행하는 메모리 장치 및 이를 포함하는 메모리 시스템 |
US10950288B2 (en) | 2019-03-29 | 2021-03-16 | Intel Corporation | Refresh command control for host assist of row hammer mitigation |
US11354408B2 (en) | 2019-08-15 | 2022-06-07 | Nxp Usa, Inc. | Technique for detecting and thwarting row-hammer attacks |
US11854595B2 (en) * | 2021-03-15 | 2023-12-26 | Changxin Memory Technologies, Inc. | Refresh circuit and memory |
US12119044B2 (en) * | 2021-12-08 | 2024-10-15 | Samsung Electronics Co., Ltd. | Memory devices and methods for controlling row hammer |
-
2022
- 2022-03-29 US US17/707,034 patent/US12027199B2/en active Active
- 2022-04-27 EP EP22170235.0A patent/EP4095701A1/en active Pending
- 2022-05-16 CN CN202210531918.3A patent/CN115410619A/zh active Pending
- 2022-05-24 TW TW111119289A patent/TWI814393B/zh active
-
2024
- 2024-05-21 US US18/669,714 patent/US20240304234A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220383935A1 (en) | 2022-12-01 |
US20240304234A1 (en) | 2024-09-12 |
EP4095701A9 (en) | 2023-01-11 |
US12027199B2 (en) | 2024-07-02 |
EP4095701A1 (en) | 2022-11-30 |
TWI814393B (zh) | 2023-09-01 |
TW202303601A (zh) | 2023-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240304234A1 (en) | Memory device and method of controlling row hammer | |
US11961548B2 (en) | Memory device and method for controlling row hammer | |
US20230128653A1 (en) | Memory device and method for controlling row hammer | |
US12119044B2 (en) | Memory devices and methods for controlling row hammer | |
CN115910146A (zh) | 存储器装置和存储器装置的操作方法 | |
US20230178166A1 (en) | Built-in self-test circuits for memory systems having multiple channels | |
US20230094148A1 (en) | Memory device for reducing timing parameters and power consumption for internal processing operation and method of implementing the same | |
US20240096391A1 (en) | Memory devices and methods thereof for managing row hammer events therein | |
KR20220159860A (ko) | 로우 해머 제어 방법 및 메모리 장치 | |
US20240160732A1 (en) | Memory device, operating method of memory device, and memory system | |
US11804254B2 (en) | Memory device and method of refreshing memory device based on temperature | |
TWI855414B (zh) | 記憶體裝置及控制邏輯電路 | |
US20240071446A1 (en) | Apparatuses and methods for providing command having on-the-fly (otf) latency to memory | |
US20240257896A1 (en) | Memory device including repair circuit and operating method thereof | |
US20240096395A1 (en) | Device, operating method, memory device, and cxl memory expansion device | |
US20240196633A1 (en) | Memory device and system having multiple physical interfaces | |
KR20240068513A (ko) | 메모리 장치, 메모리 장치의 동작 방법 및 메모리 시스템 | |
KR20230086543A (ko) | 로우 해머 제어 방법 및 메모리 장치 | |
CN118016117A (zh) | 存储器设备、存储器设备的操作方法和存储器系统 | |
KR20230086560A (ko) | 다수의 채널을 갖는 메모리 시스템의 테스트 | |
KR20240030923A (ko) | 실행 시점 가변 커맨드를 메모리로 제공하는 장치 및 방법 | |
CN117631988A (zh) | 用于向存储器提供具有空中时延的命令的装置和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |