CN116089943A - 存储器控制器和包括该存储器控制器的存储器系统 - Google Patents
存储器控制器和包括该存储器控制器的存储器系统 Download PDFInfo
- Publication number
- CN116089943A CN116089943A CN202211378100.9A CN202211378100A CN116089943A CN 116089943 A CN116089943 A CN 116089943A CN 202211378100 A CN202211378100 A CN 202211378100A CN 116089943 A CN116089943 A CN 116089943A
- Authority
- CN
- China
- Prior art keywords
- row
- hammer
- refresh
- address
- access pattern
- 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
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
- 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
- G11C11/40622—Partial refresh of memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- 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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- 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
- G11C11/40611—External triggering or timing of internal or partially internal refresh operations, e.g. auto-refresh or CAS-before-RAS triggered refresh
-
- 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
-
- 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/54—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Virology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Neurology (AREA)
- Dram (AREA)
Abstract
公开了一种控制半导体存储器装置的存储器控制器、一种半导体存储器装置和一种存储器系统。该存储器控制器包括访问模式分析器、行锤击预测神经网络和存储器接口。访问模式分析器基于行访问模式来生成访问模式分析,该行访问模式与在刷新间隔之后的参考时间间隔期间对半导体存储器装置的多个存储器单元行的一部分的访问相关联,在该刷新间隔期间存储器单元行被刷新。行锤击预测神经网络基于访问模式分析预测发生行锤击的概率。响应于概率等于或大于参考值,行锤击预测神经网络生成锤击地址、指示行锤击发生的警报信号、以及弃置行列表。存储器接口将锤击地址、弃置行列表和警报信号发送到半导体存储器装置。
Description
相关申请的交叉引用
本申请要求于2021年11月8日在韩国知识产权局提交的韩国专利申请No.10-2021-0152154以及于2022年1月7日在韩国知识产权局提交的韩国专利申请No.10-2022-0002444的优先权的权益,所述申请的每一个的公开以引用其全部的方式并入本文中。
技术领域
示例实施例涉及存储器,并且更具体地,涉及基于机器学习来检测行锤击的存储器控制器、基于机器学习来检测行锤击的半导体存储器装置、以及基于机器学习来检测行锤击的存储器系统。
背景技术
半导体存储器装置可分类为易失性存储器装置或非易失性存储器装置。易失性存储器装置是指在断电时丢失存储在其中的数据的存储器装置。作为易失性存储器装置的示例,动态随机存取存储器(DRAM)可用于各种装置,诸如移动系统、服务器或图形装置。
在诸如动态随机存取存储器(DRAM)装置的易失性存储器装置中,存储在存储器单元中的单元电荷可能由于泄漏电流而丢失。此外,当字线频繁地在激活状态和预充电状态之间转变时(即,当字线被密集地或频繁地访问时),连接到与被频繁访问的字线相邻的字线的受影响的存储器单元可能丢失存储的电荷。存储在存储器单元中的电荷可在因单元电荷的泄漏而丢失数据之前通过再充电来维持。这种单元电荷的再充电被称为刷新操作,并且可在单元电荷显著丢失之前重复执行刷新操作。
发明内容
示例实施例可提供一种存储器控制器,用于控制半导体存储器装置,能够基于机器学习来检测由于恶意访问模式而导致的行锤击。
示例实施例可提供一种能够基于机器学习来检测由于恶意访问模式而导致的行锤击的半导体存储器装置。
示例实施例可提供一种能够基于机器学习来检测由于恶意访问模式而导致的行锤击的存储器系统。
根据示例实施例,一种用于控制半导体存储器装置的存储器控制器包括访问模式分析器、行锤击预测神经网络和存储器接口。访问模式分析器基于第一行访问模式来生成第一访问模式分析,所述第一行访问模式与在第一刷新间隔之后的第一参考时间间隔期间对半导体存储器装置的多个存储器单元行的至少第二部分的第一访问相关联,在所述第一刷新间隔期间多个存储器单元行的至少第一部分被刷新。行锤击预测神经网络基于学习数据来执行机器学习,基于第一访问模式分析,预测多个存储器单元行中的至少一个由第一行访问模式集中访问的行锤击发生的第一概率,并且响应于第一概率等于或大于参考值,生成与行锤击相关联的锤击地址、指示行锤击发生的警报信号、以及弃置行列表,所述弃置行列表与多个存储器单元行之中的从响应于第一行访问模式在半导体存储器装置中执行的锤击刷新操作中排除的弃置存储器单元行相关联。存储器接口将锤击地址、弃置行列表和警报信号发送到半导体存储器装置。
根据示例实施例,一种半导体存储器装置包括:存储器单元阵列,其包括多个存储器单元行,每个存储器单元行包括多个易失性存储器单元;行锤击管理引擎;以及刷新控制电路。行锤击管理引擎基于机器学习来预测由于在第一刷新间隔之后的第一参考时间间隔期间由对多个存储器单元行的至少第二部分的第一行访问模式密集地访问的多个存储器单元行中的至少一个而发生行锤击的第一概率,在所述第一刷新间隔期间多个存储器单元行中的至少第一部分被刷新,并且生成与行锤击相关联的锤击地址、指示行锤击发生的警报信号、以及弃置行列表,所述弃置行列表与多个存储器单元行之中的、从用于应对行锤击的锤击刷新操作中排除的弃置存储器单元行相关联。刷新控制电路接收锤击地址、警报信号和弃置行列表,对与对应于锤击地址的存储器单元行物理地相邻的一个或多个受害存储器单元行执行锤击刷新操作,并且基于弃置行列表对弃置存储器单元行执行目标刷新操作。
根据示例实施例,一种存储器系统包括半导体存储器装置和控制半导体存储器装置的存储器控制器。半导体存储器装置包括存储器单元阵列,该存储器单元阵列包括多个存储器单元行,每个存储器单元行包括多个易失性存储器单元。存储器控制器包括访问模式分析器、行锤击预测神经网络和存储器接口。访问模式分析器基于第一行访问模式生成第一访问模式分析,所述第一行访问模式与在第一刷新间隔之后的第一参考时间间隔期间对多个存储器单元行的至少第二部分的第一访问相关联,在所述第一刷新间隔期间多个存储器单元行的至少第一部分被刷新。行锤击预测神经网络基于学习数据来执行机器学习,基于第一访问模式分析,来预测多个存储器单元行中的至少一个由第一行访问模式密集地访问而发生行锤击的第一概率,并且响应于第一概率等于或大于参考值,生成与行锤击相关联的锤击地址、指示行锤击发生的警报信号、以及弃置行列表,所述弃置行列表与多个存储器单元行之中的、从响应于第一行访问模式在半导体存储器装置中执行的锤击刷新操作中排除的弃置存储器单元行相关联。存储器接口将音锤地址、弃置行列表和警报信号发送到半导体存储器装置。半导体存储器装置响应于警报信号,对与对应于锤击地址的存储器单元行物理地相邻的一个或多个受害存储器单元行执行锤击刷新操作,并且基于弃置行列表对弃置存储器单元行执行目标刷新操作。
因此,存储器控制器和半导体存储器装置可基于参考时间间隔期间的访问模式来生成访问模式分析,可基于访问模式分析并且基于机器学习来预测行锤击的发生概率,可响应于概率等于或大于参考值来生成锤击地址、弃置行列表以及警报信号,可对与对应于锤击地址的存储器单元行物理地相邻的一个或受害存储器单元行执行锤击刷新操作,并且可基于弃置行列表来对弃置存储器单元行执行目标刷新操作。因此,存储器控制器和半导体存储器装置可应对已知或未知的恶意访问模式。
附图说明
在下文中将参照附图更详细地描述示例实施例。
图1是示出根据示例实施例的存储器系统的框图。
图2是示出根据示例实施例的图1中的存储器控制器的框图。
图3是示出根据示例实施例的图2中的访问模式分析器的示例的框图。
图4示出根据示例实施例的图3中的攻击者行分类模块的示例操作。
图5示出根据示例实施例的图3的访问模式分析器在包括第一参考时间间隔和第二参考时间间隔的多个参考时间间隔中操作。
图6是示出根据示例实施例的图3的访问模式分析器中的相似性计算模块的示例的框图。
图7示出在第一参考时间间隔期间应用的重复访问模式。
图8示出根据示例实施例的由图3中的分布生成模块生成的分布的示例。
图9是示出根据示例实施例的图2中的行锤击预测神经网络的示例的框图。
图10A、图10B和图10C是用于描述根据示例实施例的可包括在图9中的神经网络的神经网络模型的示例的示图。
图11是示出根据示例实施例的图1的存储器系统中的半导体存储器装置的框图。
图12示出图11的半导体存储器装置中的第一存储体阵列的示例。
图13是示出根据示例实施例的图11中的刷新控制电路的示例的框图。
图14是示出根据示例实施例的图13中的刷新时钟生成器的示例的电路图。
图15是示出根据示例实施例的图13中的刷新时钟生成器的另一示例的电路图。
图16是示出根据示例实施例的存储器系统的框图。
图17是示出根据示例实施例的图16中的存储器控制器的框图。
图18是示出根据示例实施例的图16中的半导体存储器装置的示例的框图。
图19是示出根据示例实施例的图18的半导体存储器装置中的行锤击管理引擎的示例的框图。
图20是示出根据示例实施例的图18中的刷新控制电路的示例的框图。
图21和图22示出可用于图1的存储器系统或图16的存储器系统中的示例命令。
图23示出当存储器系统基于预充电命令确定锤击地址时存储器系统的命令协议的示例。
图24是示出用于描述锤击刷新地址的生成的存储器单元阵列的一部分的示图。
图25和图26是示出根据示例实施例的图13的刷新控制电路或图20的刷新控制电路的示例操作的时序图。
图27是示出用于描述锤击刷新地址的生成的存储器单元阵列的一部分的示图。
图28是示出根据示例实施例的图2的存储器控制器的操作的流程图。
图29是示出根据示例实施例的半导体存储器装置的框图。
图30是示出根据示例实施例的包括堆叠存储器装置的半导体封装件的构造图。
具体实施方式
以下将参照示出了示例实施例的附图更全面地描述各种示例实施例。
图1是示出根据示例实施例的存储器系统的框图。
参照图1,存储器系统20可包括存储器控制器30和半导体存储器装置200。
存储器控制器30可控制存储器系统20的整体操作。存储器控制器30可控制外部主机与半导体存储器装置200之间的整体数据交换。例如,存储器控制器30可响应于来自主机的请求而将数据写入半导体存储器装置200中或从半导体存储器装置200读取数据。
另外,存储器控制器30可向半导体存储器装置200发出用于控制半导体存储器装置200的操作命令。在一些示例实施例中,半导体存储器装置200是包括动态存储器单元的存储器装置,诸如动态随机存取存储器(DRAM)、双倍数据速率5(DDR5)同步DRAM(SDRAM)或DDR6 SDRAM。
存储器控制器30可向半导体存储器装置200发送时钟信号CK(时钟信号CK可被称为命令时钟信号)、命令CMD以及地址(信号)ADDR。当存储器控制器30向半导体存储器装置200发送数据信号DQ或从半导体存储器装置200接收数据信号DQ时,存储器控制器30可与半导体存储器装置200交换(数据)选通信号DQS。地址ADDR可伴随命令CMD,并且地址ADDR可被称为访问地址。
存储器控制器30可包括行锤击管理引擎105,行锤击管理引擎105从半导体存储器装置200的多个存储器单元行中检测半导体存储器装置200的多个存储器单元行中被密集访问的至少一个存储器单元行的锤击地址HADDR1。存储器控制器30可向半导体存储器装置200发送锤击地址HADDR1和多个存储器单元行之中的与弃置存储器单元行相关联的弃置行列表OCRL1,所述弃置存储器单元行从为了应对半导体存储器装置200中的行锤击而执行的锤击刷新操作中被排除。另外,存储器控制器30可向半导体存储器装置200发送指示发生行锤击的警报信号ALRT1。
行锤击管理引擎105可包括访问模式分析器110和行锤击(RH)预测神经网络(NN)160。访问模式分析器110可基于多个存储器单元行的访问模式来生成访问模式分析APPF1,并且可向行锤击预测神经网络160提供访问模式分析APPF1。行锤击预测神经网络160可基于访问模式分析APPF1并且基于机器学习来预测行锤击的发生概率,并且可响应于该概率等于或大于参考值而向半导体存储器装置200发送锤击地址HADDR1、弃置行列表OCRL1和警报信号ALRT1。
半导体存储器装置200包括存储数据信号DQ的存储器单元阵列310、控制逻辑电路210和刷新控制电路400。
控制逻辑电路210可控制半导体存储器装置200的操作。刷新控制电路400可接收锤击地址HADDR1和弃置行列表OCRL1,可对与对应于锤击地址HADDR1的存储器单元行物理地相邻的一个或多个受害存储器单元行执行锤击刷新操作,并且可基于弃置行列表OCRL1对弃置存储器单元行执行目标刷新操作。此外,刷新控制电路400可控制(或执行)对存储器单元阵列310中的多个存储器单元行的刷新操作。
由于存储数据的存储器单元的电荷泄漏,半导体存储器装置200周期性地执行刷新操作。由于半导体存储器装置200的制造工艺的按比例缩小,存储器单元的存储电容减小并且刷新周期缩短。因为整个刷新时间随着半导体存储器装置200的存储器容量的增加而增加,所以刷新周期进一步缩短。
当特定存储器单元行由于恶意访问模式被集中访问时,对该特定存储器单元行执行锤击刷新操作。然而,因为不对不与该特定存储器单元行物理地相邻的弃置存储器单元行执行锤击刷新操作,所以存储在弃置存储器单元行中的电荷可能丢失。
在根据示例实施例的存储器系统20中,除了锤地址HADDR1之外,存储器控制器30还向半导体存储器装置200发送与弃置存储器单元相关联的弃置行列表OCRL1,并且半导体存储器装置200基于弃置行列表OCRL1对弃置存储器单元行执行目标刷新操作,并且因此可增强存储器系统20的性能。
图2是示出根据示例实施例的图1中的存储器控制器的框图。
参照图2,存储器控制器30可包括通过总线31彼此连接的处理器35、片上存储器100、ROM 37、刷新逻辑40、主机接口45、刷新管理(RFM)控制逻辑50、调度器55和存储器接口60。
ROM 37可存储访问模式分析器110和行锤击预测神经网络160。可将存储在ROM 37中的访问模式分析器110和行锤击预测神经网络160加载到片上存储器100上。
处理器35可控制存储器控制器30的整体操作,处理器35可通过总线31控制刷新逻辑40、主机接口45、RFM控制逻辑50、调度器55和存储器接口60。处理器35可执行存储在ROM37中并加载到片上存储器100上的访问模式分析器110和行锤击预测神经网络160。
刷新逻辑40可基于半导体存储器装置200的刷新周期生成用于刷新多个存储器单元行的存储器单元的自动刷新命令。RFM控制逻辑50可生成与多个存储器单元行的行锤击相关联的RFM命令。
主机接口50可执行与主机的交互。存储器接口60可执行与半导体存储器装置200的交互。
调度器55可管理在存储器控制器30中生成的命令序列的调度和传输。调度器55可经由存储器接口60向半导体存储器装置200发送锤击地址HADDR1和弃置行列表OCRL1。
访问模式分析器110可基于行访问模式来生成访问模式分析APPF1,所述行访问模式与在刷新间隔之后的参考时间间隔期间对半导体存储器装置200的多个存储器单元行的至少第二部分的第一访问相关联,在所述刷新间隔期间所述多个存储器单元行的至少第一部分被刷新。
行锤击预测神经网络160可基于学习数据来执行机器学习,可基于访问模式分析APPF1来预测由于多个存储器单元行中的至少一个存储器单元行由行访问模式密集地访问而发生行锤击的概率,并且可响应于该概率等于或大于参考值,生成与行锤击相关联的锤击地址HADDR1、弃置行列表OCRL1以及指示发生行锤击的警报信号ALRT1。弃置行列表OCRL1可与弃置存储器单元行相关联,弃置存储器单元行从响应于行访问模式在半导体存储器装置200中执行的锤击刷新操作中排除。
图3是示出根据示例实施例的图2中的访问模式分析器的示例的框图。
参照图3,访问模式分析器110可包括攻击者行分类模块115、相似性计算模块120、分布生成模块140、原始访问模式采样模块145和分析生成器150。
攻击者行分类模块115可将包括在行访问模式中的行地址ROW_ADDR映射到攻击者标识符AGID。
相似性计算模块120可生成(第一)计数值SCV,(第一)计数值SCV指示第一刷新行地址与(第一)行地址ROW_ADDR之间的(第一)相似性,所述第一刷新行地址在刷新行地址被刷新的第一刷新间隔期间被频繁地刷新,所述(第一)行地址ROW_ADDR在参考时间间隔期间被访问。
分布生成模块140可生成在参考时间间隔期间攻击者标识符AGID的访问次数的分布APDS。
在示例实施例中,分布生成模块140可基于在刷新间隔期间被刷新的刷新行地址来生成刷新行地址的访问次数的分布APDS,并且可向相似性计算模块120提供该分布APDS。相似性计算模块120可生成计数值SCV,计数值SCV指示在刷新间隔期间被频繁地刷新的第一刷新行地址与在参考时间间隔期间被访问的行地址ROW_ADDR之间的相似性。
分析生成器150可基于攻击者标识符AGID、相似性SCV和分布APDS来生成访问模式分析APPF1。
原始访问模式采样模块145可对行访问模式的一部分进行采样,以向分析生成器150提供采样到的原始访问模式SRAP,并且分析生成器150还可基于采样到的原始访问模式SRAP生成访问模式分析APPF1。
攻击者行分类模块115、相似性计算模块120、分布生成模块140和原始访问模式采样模块145并行地(或同时地)操作。
图4示出根据示例实施例的图3中的攻击者行分类模块的示例操作。
参照图4,攻击者行分类模块115可将在参考时间间隔期间包括在访问模式中的行地址RA1、RA3、RA7和RA8分别映射到相应的攻击者行标识符ARID1、ARID3、ARID7和ARID8。当攻击者行分类模块115将行地址ROW_ADDR映射到攻击者行标识符ARID时,由于攻击者行标识符ARID中的位数小于行地址ROW_ADDR中的位数,因此当行锤击预测神经网络160执行学习或推断时,可减少行锤击预测神经网络160的计算量。
图5示出根据示例实施例的图3的访问模式分析器在包括第一参考时间间隔和第二参考时间间隔的多个参考时间间隔中操作。
参照图3和图5,访问模式分析器110可基于第一行访问模式来生成第一访问模式分析,所述第一行访问模式与在第一刷新间隔tREFI1之后的第一参考时间间隔RINT1期间对多个存储器单元行的至少(第二部分)的第一访问相关联,所述第一访问包括行地址RA2、RA4、RA7、…、RA4,在所述第一刷新间隔tREFI1期间由行地址RA1、RA2、…、RAN指定的存储器单元行被刷新。这里,N是等于或大于3的整数。行锤击预测神经网络160可基于在第一参考时间间隔RINT1期间的第一访问模式分析来预测第一行访问模式发生行锤击的第一概率。
访问模式分析器110可基于第二行访问模式来生成第二访问模式分析,所述第二行访问模式与在第二刷新间隔tREFI2之后的第二参考时间间隔RINT2期间对多个存储器单元行的至少(第二)部分的第二访问相关联,所述第二访问包括行地址RA3、RA7、…、RA4,在所述第二刷新间隔tREFI2期间由行地址RA2、RA3、…、RA1指定的存储器单元行被刷新。行锤击预测神经网络160可基于在第二参考时间间隔RINT2期间的第二访问模式分析来预测第二行访问模式发生行锤击的第二概率。
访问模式分析器110可基于第h行访问模式来生成第h访问模式分析,所述第h行访问模式与在第h刷新间隔tREFIh之后的第h参考时间间隔RINTh期间对多个存储器单元行的至少一部分的第h访问相关联,所述第h访问包括行地址RA4、RA7、…、RA4,在所述第h刷新间隔tREFIh期间由行地址RA5、RA6、…、RA4指定的存储器单元行被刷新。行锤击预测神经网络160可基于在第h参考时间间隔RINTh期间的第h访问模式分析来预测第h行访问模式发生行锤击的第h概率。
在第一到第h刷新间隔tREFI1到tREFIh的每一个中,至少一个存储器单元行可被刷新,并且第一到第h刷新间隔tREFI1到tREFIh中的每一个可对应于自动刷新间隔和自刷新间隔中的一个。
图6是示出根据示例实施例的图3的访问模式分析器中的相似性计算模块的示例的框图。
参照图6,相似性计算模块120可包括第一寄存器121、第二寄存器123、比较器130和相似性计数器135。
第一寄存器121可存储第一存储器单元行的在第一刷新间隔tREFI1期间与其它存储器单元行相比被更频繁地被刷新的第一刷新行地址RA2、RA7、…、RA3,并且第二寄存器123可存储第二存储器单元行的在第一参考时间间隔RINT1期间与第一访问相关联的第二行地址RA2、RA4、RA7、…、RA4。
比较器130可将存储在第一寄存器121中的第一刷新行地址RA2、RA7、…、RA3中的每一个与存储在第二寄存器123中的第二行地址RA2、RA4、RA7、…、RA4中的每一个进行比较,并且可向相似性计数器135提供指示比较结果的比较信号CS。
相似性计数器135可对具有第一逻辑电平(例如,逻辑高电平)的比较信号CS进行计数,以输出计数值SCV,所述计数值SCV指示第一刷新行地址RA2、RA7、…、RA3与第二行地址RA2、RA4、RA7、…、RA4之间的相似性。当基于比较存储在第一寄存器121中的第一刷新行地址RA2、RA7、…、RA3中的每一个和存储在第二寄存器123中的第二行地址RA2、RA4、RA7、…、RA4中的每一个的计数完成时,可复位相似性计数器135。计数值SCV达到参考计数值可指示相似行地址被密集地访问的情况。也就是说,计数值SCV达到参考计数值可指示行锤击发生的概率高。
图7示出在第一参考时间间隔期间应用的重复访问模式。
参照图7,当在第一参考时间间隔RINT11期间以行地址RA1、RA2、RA3、…、RA10的顺序重复的访问模式被应用于存储器系统20或半导体存储器装置200时,行锤击预测神经网络160可基于包括在访问模式分析APPF1中的计数值SCV来检测行锤击的发生,可生成警报信号ALRT1和锤击地址HADDR1,并且可将警报信号ALRT1和锤击地址HADDR1发送到半导体存储器装置200。半导体存储器装置200可响应于警报信号ALRT1和锤击地址HADDR1执行锤击刷新操作。
图8示出根据示例实施例的由图3中的分布生成模块生成的分布的示例。
参照图3和图8,分布生成模块140可生成与在刷新间隔期间被刷新的刷新行地址中的每一个的访问次数相关联并且与在参考时间间隔期间攻击者行标识符ARID中的每一个的访问次数相关联的分布APDS。
在示例实施例中,当难以生成与访问次数相关联的分布APDS时,分布生成模块140可基于表示刷新间隔和参考时间间隔中的每一个的统计特性值以及关于包括被频繁地访问的行地址的行地址列表的信息来生成简化分布,并且可将简化分布提供给分析生成器150。
行锤击预测神经网络160可基于包括在访问模式分析APPF1中的分布APDS将由具有最大访问次数的攻击者行标识符ARIDa指定的存储器单元行的行地址识别为锤击地址HADDRa,并且可在弃置行列表中包括存储器单元行的行地址,该存储器单元行不与由攻击者行标识符ARIDa指定的存储器单元行相邻并且由具有高的行锤击发生概率的攻击者行标识符ARIDb指定。
图9是示出根据示例实施例的图2中的行锤击预测神经网络的示例的框图。
参照图9,行锤击预测神经网络160可包括神经网络170和决策逻辑190。
神经网络170可基于学习数据LDTA来执行机器学习,并且可基于访问模式分析APPF1来预测发生行锤击的概率RHOP1。学习数据LDTA可以是指示神经网络170在存储器系统20的正常操作之前的测试期间预测行锤击的发生概率的数据集。
决策逻辑190可将行锤击发生的概率RHOP1与第一参考值进行比较,可响应于概率RHOP1等于或大于参考值,基于访问模式分析APPF1生成锤击地址HADDR1、弃置行列表OCRL1和警报信号ALRT1,并且可经由存储器接口60向半导体存储器装置200发送锤击地址HADDR1、弃置行列表OCRL1和警报信号ALRT1。
图10A、图10B和图10C是用于描述根据示例实施例的可包括在图9中的神经网络的神经网络模型的示例的示图。
图10A、图10B和图10C示出神经网络模型的网络结构的示例。例如,神经网络模型可包括人工神经网络(ANN)模型、卷积神经网络(CNN)模型、循环神经网络(RNN)模型、深度神经网络(DNN)模型等中的至少一个。
参照图10A,神经网络170a可包括输入层IL、多个隐藏层HL1、HL2、…、HLn以及输出层OL。
输入层IL可包括i个输入节点x1、x2、…、xi,其中,i是自然数。长度为i的学习数据(例如,矢量学习数据)LDTA可被输入到输入节点x1、x2、…、xi,使得学习数据LDTA的每个元素被输入到输入节点x1、x2、…、xi中的相应一个。
多个隐藏层HL1、HL2、…、HLn可包括n个隐藏层,其中,n是自然数,并且可包括多个隐藏节点h1 1、h1 2、h1 3、…、h1 m、h2 1、h2 2、h2 3、…、h2 m、hn 1、hn 2、…、hn 3、…、hn m。例如,隐藏层HL1可包括m个隐藏节点h1 1、h1 2、h1 3、…、h1 m,隐藏层HL2可包括m个隐藏节点h2 1、h2 2、h2 3、…、h2 m,并且隐藏层HLn可包括m个隐藏节点hn 1、hn 2、hn 3、…、hn m,其中,m是自然数。
输出层OL可包括j个输出节点y1、y2、…、yj,其中,j是自然数。输出节点y1、y2、…、yj中的每一个可对应于要分类的相应一个类。输出层OL可生成在学习数据LDTA或访问模式分析APPF1中行锤击的发生的概率RHOP1。在一些示例实施例中,输出层OL可以是完全连接层。
图10A中所示的神经网络的结构可由关于节点之间的被示出为线的分支(或连接)的信息和未示出的分配给每个分支的加权值来表示。在一些神经网络模型中,一个层内的节点可不彼此连接,但是不同层的节点可完全或部分地彼此连接。在一些其它神经网络模型中,例如无限制的Boltzmann机器,除了其它层的一个或多个节点之外(或作为替代),一个层内的至少一些节点也可连接到一个层内的其它节点。
每个节点(例如,节点h1 1)可接收前一节点(例如,节点x1)的输出,可对接收到的输出执行计算操作、计算或运算,并可将计算操作、计算或运算的结果作为输出来输出至下一节点(例如,节点h2 1)。每个节点可通过将输入应用于特定函数(例如,非线性函数)来计算要被输出的值。
在示例实施例中,预先设置神经网络的结构,并且使用具有数据属于哪个类的已知答案(有时称为“标签”)的数据来适当地设置节点之间的连接的加权值。具有已知答案的数据有时被称为“训练数据”,并且确定加权值的处理有时被称为“训练”。神经网络在训练处理期间“学习”将数据与对应的标签相关联。一组独立可训练的结构和加权值有时被称为“模型”,并且由具有确定的加权值的模型预测输入数据属于哪个类并且然后输出预测值的处理有时被称为“测试”处理。
参照图10B,CNN的网络结构170b可包括多个层CONV1、RELU1、CONV2、RELU2、POOL1、CONV3、RELU3、CONV4、RELU4、POOL2、CONV5、RELU5、CONV6、RELU6、POOL3和FC。
与一般神经网络不同,CNN的每个层可具有宽度、高度和深度三个维度,并且因此输入到每个层的数据可以是具有宽度、高度和深度三个维度的体积数据。
卷积层CONV1、CONV2、CONV3、CONV4、CONV5和CONV6中的每一个都可对输入体积数据执行卷积操作。
每个卷积层的参数可由一组可学习过滤器组成。每个过滤器在空间上可以是小的(沿着宽度和高度),但是可延伸通过输入体积数据的整个深度。例如,在前向传递期间,每个过滤器可在输入体积数据的宽度和高度上滑动(例如,卷积),并且可在过滤器的条目与任何位置处的输入体积数据之间计算点积。当过滤器在输入体积数据的宽度和高度上滑动时,可生成给出该过滤器在每个空间位置处的响应的二维激活映射。结果,可通过沿着深度维度堆叠这些激活映射来生成输出体积数据。例如,如果具有32*32*3的大小的输入体积数据通过具有四个带补零的过滤器的卷积层CONV1,则卷积层CONV1的输出体积数据可具有32*32*12的大小(例如,体积数据的深度增加)。
RELU层RELU1、RELU2、RELU3、RELU4、RELU5和RELU6中的每一个都可执行与由例如函数f(x)=max(0,x)(例如,对于所有负输入x,输出都是零)定义的激活函数对应的整流线性单位(RELU)运算。例如,如果具有32*32*12的大小的输入体积数据通过RELU层RELU1以执行整流线性单位运算,则RELU层RELU1的输出体积数据也可以具有32*32*12的大小(例如,维持体积数据的大小)。
池化层POOL1、POOL2和POOL3中的每一个可沿着宽度和高度的空间维度对输入体积数据执行下采样操作。例如,可将以2*2矩阵形式排列的四个输入值转换为基于2*2过滤器的一个输出值。例如,可基于2*2最大池化来选择以2*2矩阵形式排列的四个输入值中的最大值,或者可基于2*2平均池化来获得以2*2矩阵形式排列的四个输入值中的平均值。例如,如果具有32*32*12的大小的输入体积数据通过具有2*2过滤器的池化层POOL1,则池化层POOL1的输出体积数据也可具有16*16*12的大小(例如,体积数据的宽度和高度减少,体积数据的深度被保持)。
通常,一个卷积层(例如,CONV1)与一个RELU层(例如,RELU1)可形成CNN中的一对CONV/RELU层,成对的CONV/RELU层可重复排列在CNN中,并且池化层可周期性地插入CNN中。
输出层或完全连接层FC可输出学习数据LDTA或访问模式分析APPF1中行锤击的出现的概率RHOP1。
参照图10C,RNN的网络结构170c可包括使用在图10C的左侧示出的特定节点或单元N的重复结构。
图10C的右侧所示的结构可指示左侧所示的RNN的循环连接被展开(或摊开)。术语“展开”意味着网络被写出或示出为包括所有节点NA、NB和NC的完整或整个序列。例如,如果感兴趣序列是3个单词的句子,则RNN可被展开成3层神经网络,每一单词一层(例如,没有循环连接或没有循环)。
在图10C的RNN中,X指示RNN的输入。例如,Xv可以是在时间步长v处的输入,并且Xv-1和Xv+1可分别是在时间步长v-1和v+1处的输入。
在图10C的RNN中,S表示隐藏状态。例如,Sv可以是在时间步长v处的隐藏状态,并且Sv-1和Sv+1可分别是在时间步长v-1和v+1处的隐藏状态。隐藏状态可基于先前的隐藏状态和当前步长处的输入被计算。例如,Sv=f(UXv+WSv-1)。例如,函数f通常可以是非线性函数,例如tanh或RELU。计算第一隐藏状态所需的S-1通常可被初始化为全零。
在图10C的RNN中,O指示RNN的输出。例如,Ov可以是在时间步长v处的输出,并且Ov-1和Ov+1可分别是在时间步长v-1和v+1处的输出。例如,如果需要预测句子中的下一单词,则它将是跨词汇表的概率的向量。例如,Ov=softmax(VSv)。
在图10C的RNN中,隐藏状态可以是网络的“存储器”。例如,RNN可具有“存储器”,其捕获关于到目前为止已经计算了什么的信息。隐藏状态Sv可捕获关于在所有先前时间步长中发生了什么的信息。可基于当前时间步长v处的存储器单独地计算输出Ov。此外,不同于在每一层处使用不同参数的传统神经网络,RNN可在所有时间步长上共享相同的参数(例如,图10C中的U、V和W)。这可指示在每个步长处仅利用不同的输入就可执行相同任务的事实。这可大大减少需要训练或学习的参数的总数。
RNN可输出学习数据LDTA或访问模式分析APPF1中的行锤击发生的概率RHOP1。
图11是示出根据示例实施例的图1的存储器系统中的半导体存储器装置的框图。
参照图11,半导体存储器装置200可包括控制逻辑电路210、地址寄存器220、存储体控制逻辑230、刷新控制电路400、行地址复用器(RA MUX)240、列地址(CA)锁存器250、行解码器260、列解码器270、存储器单元阵列310、读出放大器单元285、I/O门控电路290、纠错码(ECC)引擎350、时钟缓冲器225、数据时钟缓冲器235(也被称为选通信号生成器)和数据I/O缓冲器320。
存储器单元阵列310可包括第一存储体阵列310a至第十六存储体阵列310s。行解码器260可包括分别耦接到第一存储体阵列310a至第十六存储体阵列310s的第一行解码器260a至第十六行解码器260s,列解码器270可包括分别耦接到第一存储体阵列310a至第十六存储体阵列310s的第一列解码器270a至第十六列解码器270s,并且读出放大器单元285可包括分别耦接到第一存储体阵列310a至第十六存储体阵列310s的第一读出放大器285a至第十六读出放大器285s。
第一存储体阵列310a至第十六存储体阵列310s、第一行解码器260a至第十六行解码器260s、第一列解码器270a至第十六列解码器270s和第一读出放大器285a至第十六读出放大器285s可形成第一存储体至第十六存储体。第一存储体阵列310a至第十六存储体阵列310s中的每一个包括在多条字线WL和多条位线BTL的交叉处形成的多个存储器单元MC。
地址寄存器220可从存储器控制器30接收包括存储体地址BANK_ADDR、行地址ROW_ADDR及列地址COL_ADDR的地址ADDR。地址寄存器220可将接收的存储体地址BANK_ADDR提供到存储体控制逻辑230,可将接收的行地址ROW_ADDR提供到行地址复用器240,并且可将接收的列地址COL_ADDR提供到列地址锁存器250。
存储体控制逻辑230可响应于存储体地址BANK_ADDR生成存储体控制信号。第一行解码器260a至第十六行解码器260s中的对应于存储体地址BANK_ADDR的一个行解码器响应于存储体控制信号被激活,并且第一列解码器270a至第十六列解码器270s中的对应于存储体地址BANK_ADDR的一个列解码器响应于存储体控制信号被激活。
行地址复用器240可从地址寄存器220接收行地址ROW_ADDR,并且可从刷新控制电路400接收刷新行地址REF_ADDR。行地址复用器240可选择性地输出行地址ROW_ADDR或刷新行地址REF_ADDR作为行地址SRA。从行地址复用器240输出的行地址SRA被施加到第一行解码器260a至第十六行解码器260s。
刷新控制电路400可响应于来自控制逻辑电路210的第三控制信号CTL3,在正常刷新模式中顺序地增加或减少刷新行地址REF_ADDR。刷新控制电路400可接收锤击地址HADDR1、警报信号ALRT1和弃置行列表OCRL1,可基于锤击地址HADDR1对一个或多个受害存储器单元行执行锤击刷新操作,并且可基于弃置行列表OCRL1对弃置存储器单元行执行目标刷新操作。刷新控制电路400可输出指定与对应于锤击地址HADDR1的存储器单元行物理地相邻的一个或多个受害存储器单元行的锤击刷新地址作为刷新行地址REF_ADDR,并且可基于弃置行列表OCRL1输出指定弃置存储器单元行作为刷新行地址REF_ADDR的目标刷新地址。
由存储体控制逻辑230激活的第一行解码器260a至第十六行解码器260s中的一个行解码器可对从行地址复用器240输出的行地址SRA进行解码,并且可激活与行地址SRA对应的字线。例如,被激活的存储体行解码器将字线驱动电压施加到对应于行地址的字线。
列地址锁存器250可从地址寄存器220接收列地址COL_ADDR,并且可临时存储接收的列地址COL_ADDR。在一些实施例中,在突发模式中,列地址锁存器250可生成从接收的列地址COL_ADDR递增的列地址COL_ADDR'。列地址锁存器250可将临时存储或生成的列地址COL_ADDR'施加到第一列解码器270a至第十六列解码器270s。
第一列解码器270a至第十六列解码器270s中被激活的一个列解码器通过I/O门控电路290激活与存储体地址BANK_ADDR和列地址COL_ADDR对应的读出放大器。
I/O门控电路290可包括用于门控输入/输出数据的电路,并且还可包括输入数据掩码逻辑、用于存储从第一存储体阵列310a至第十六存储体阵列310s输出的数据的读取数据锁存器、以及用于将数据写入第一存储体阵列310a至第十六存储体阵列310s的写入驱动器。
从第一存储体阵列310a至第十六存储体阵列310s中的所选存储体阵列读取的码字CW被耦接到所选存储体阵列的读出放大器读出,并被存储在读取数据锁存器中,其中,数据将从所选存储体阵列被读取。在ECC引擎350对码字CW执行ECC解码之后,存储在读取数据锁存器中的码字CW可作为数据DTA被提供给数据I/O缓冲器320。数据I/O缓冲器320可将数据DTA转换为数据信号DQ,并可将数据信号DQ连同数据选通信号DQS发送至存储器控制器30。
将被写入第一存储体阵列310a至第十六存储体阵列310s中的所选存储体阵列中的数据信号DQ可从存储器控制器30被提供至数据I/O缓冲器320。数据I/O缓冲器320可将数据信号DQ转换为数据DTA,并可将数据DTA提供至ECC引擎350。ECC引擎350可对数据DTA执行ECC编码以生成奇偶校验位,并且ECC引擎350可将包括数据DTA和奇偶校验位的码字CW提供给I/O门控电路290。I/O门控电路290可通过写入驱动器将码字CW写入所选存储体阵列中的子页中。
数据I/O缓冲器320可在半导体存储器装置200的写入操作中通过将数据信号DQ转换为数据DTA,将数据信号DQ从存储器控制器30提供至ECC引擎350,并且可在半导体存储器装置200的读取操作中将来自ECC引擎350的数据DTA转换为数据信号DQ,并可将数据信号DQ和数据选通信号DQS发送至存储器控制器30。
ECC引擎350可基于来自控制逻辑电路210的第二控制信号CTL2对数据DTA执行ECC编码并对码字CW执行ECC解码。
时钟缓冲器225可接收时钟信号CK,可通过缓冲时钟信号CK生成内部时钟信号ICK,并且可将内部时钟信号ICK提供到处理命令CMD和地址ADDR的电路组件。
数据时钟缓冲器235可接收时钟信号CK,可基于时钟信号CK生成数据选通信号DQS,并且可将数据选通信号DQS提供给存储器控制器30。
控制逻辑电路210可控制半导体存储器装置200的操作。例如,控制逻辑电路210可生成用于半导体存储器装置200的控制信号以执行写入操作、读取操作、正常刷新操作、锤击刷新操作和目标刷新操作。控制逻辑电路210包括对从存储器控制器30接收的命令CMD进行解码的命令解码器211和设置半导体存储器装置200的操作模式的模式寄存器212。
例如,命令解码器211可通过对写入使能信号、行地址选通信号、列地址选通信号、芯片选择信号等进行解码来生成对应于命令CMD的控制信号。控制逻辑电路210可将第一控制信号CTL1提供至I/O门控电路290,可提供第二控制信号CTL2以控制ECC引擎350,以及可提供第三控制信号CTL3以控制刷新控制电路400。
图12示出图11的半导体存储器装置中的第一存储体阵列的示例。
参照图12,第一存储体阵列310a包括多条字线WL1至WL2m(m是大于2的自然数)、多条位线BTL1至BTL2n(n是大于2的自然数)、以及设置在字线WL1至WL2m与位线BTL1至BTL2n之间的交叉处的多个存储器单元MC。存储器单元MC中的每一个包括耦接到字线WL1至WL2m中的每一条和位线BTL1至BTL2n中的每一条的单元晶体管以及耦接到单元晶体管的单元电容器。
耦接到多个存储器单元MC的字线WL1到WL2m可被称为第一存储体阵列310a的行,并且耦接到多个存储器单元MC的位线BTL1到BTL2n可被称为第一存储体阵列310a的列。
图13是示出根据示例实施例的图11中的刷新控制电路的示例的框图。
参照图13,刷新控制电路400可包括刷新控制逻辑410、刷新时钟生成器420、刷新计数器430和锤击刷新地址生成器440。
刷新控制逻辑410可响应于警报信号ALRT1提供模式信号MS。另外,刷新控制逻辑410可向锤击刷新地址生成器440提供锤击刷新信号HREF和目标刷新信号TREF。
刷新时钟生成器420可基于第一刷新控制信号IREF1、第二刷新控制信号IREF2和模式信号MS生成指示正常刷新操作的时序的刷新时钟信号RCK。刷新时钟生成器420可响应于接收到第一刷新控制信号IREF1或响应于第二刷新控制信号IREF2被激活而生成刷新时钟信号RCK。
当来自存储器控制器30的命令CMD对应于自动刷新命令时,图11中的控制逻辑电路210可每当控制逻辑电路210接收到自动刷新命令时就将第一刷新控制信号IREF1施加到刷新控制电路400。当来自存储器控制器30的命令CMD对应于自刷新进入命令时,控制逻辑电路210可将第二刷新控制信号IREF2施加到刷新控制电路400,并且从控制逻辑电路210接收到自刷新进入命令的时间点到控制逻辑电路210接收到自刷新退出命令的时间点,激活第二刷新控制信号IREF2。
刷新计数器430可通过在刷新时钟信号RCK的周期执行计数操作来生成顺序地指定存储器单元行的计数器刷新地址CREF_ADDR,并且可将计数器刷新地址CREF_ADDR作为刷新行地址REF_ADDR提供给图11中的行地址复用器240。
锤击刷新地址生成器440可包括锤击地址(HADDR)储存器450、目标地址(TADDR)储存器455和映射器460。
锤击地址储存器450可存储锤击地址HADDR1,并且可响应于锤击刷新信号HREF将锤击地址HADDR1输出到映射器460。映射器460可生成指定与对应于锤击地址HADDR1的存储器单元行物理地相邻的一个或多个受害存储器单元行的锤击刷新地址HREF_ADDR。
目标地址储存器455可接收弃置行列表OCRL1,可基于弃置行列表OCRL1存储弃置存储器单元行的目标刷新地址TREF_ADDR,并且可基于目标刷新信号TREF输出目标刷新地址TREF_ADDR。
锤击刷新地址生成器440可向图11中的行地址复用器240提供锤击刷新地址HREF_ADDR和目标刷新地址TREF_ADDR作为刷新行地址REF_ADDR。
图14是示出根据示例实施例的图13中的刷新时钟生成器的示例的电路图。
参照图14,刷新时钟生成器420a可包括多个振荡器421、422和423、复用器424和解码器425a。解码器425a可对第一刷新控制信号IREF1、第二刷新控制信号IREF2和模式信号MS进行解码,以输出时钟控制信号RCS1。振荡器421、422和423生成具有不同周期的刷新时钟信号RCK1、RCK2和RCK3。复用器424响应于时钟控制信号RCS1选择刷新时钟信号RCK1、RCK2和RCK3中的一个以提供刷新时钟信号RCK。
因为模式信号MS指示锤击地址被生成,所以刷新时钟生成器420a可通过选择刷新时钟信号RCK1、RCK2和RCK3中的一个来调整刷新循环。
图15是示出根据示例实施例的图13中的刷新时钟生成器的另一示例的电路图。
参照图15,刷新时钟生成器420b可包括解码器425b、偏压单元426和振荡器427。
解码器425b可对第一刷新控制信号IREF1、第二刷新控制信号IREF2、以及模式信号MS进行解码,以输出时钟控制信号RCS2。偏压单元426响应于时钟控制信号RCS2生成控制电压VCON。振荡器427根据控制电压VCON生成具有可变周期的刷新时钟信号RCK。
因为模式信号MS指示锤击地址被生成,所以刷新时钟生成器420b可通过基于时钟控制信号RCS2改变刷新时钟信号RCK的周期来调整刷新循环。
图16是示出根据示例实施例的存储器系统的框图。
参照图16,存储器系统20a可包括存储器控制器30a和半导体存储器装置200a。
存储器控制器30a可与图1中的存储器控制器30相似,并且半导体存储器装置200a可与图1中的半导体存储器装置200相似。
存储器控制器30a可向半导体存储器装置200a发出用于控制半导体存储器装置200a的操作命令。
存储器控制器30a可将时钟信号CK(时钟信号CK可被称为命令时钟信号)、命令CMD及地址(信号)ADDR发送至半导体存储器装置200a。当存储器控制器30a将数据信号DQ发送至半导体存储器装置200a或从半导体存储器装置200a接收数据信号DQ时,存储器控制器30a可与半导体存储器装置200a交换(数据)选通信号DQS。地址ADDR可伴随命令CMD,并且地址ADDR可被称为访问地址。
存储器控制器30a可包括RFM控制逻辑50,其生成与多个存储器单元行的行锤击相关联的RFM命令。
半导体存储器装置200a包括存储数据信号DQ的存储器单元阵列310、控制逻辑电路210a、刷新控制电路400a和行锤击(RH)管理引擎500。
控制逻辑电路210a可控制半导体存储器装置200a的操作。存储器单元阵列310可包括多个存储器单元行,并且每个存储器单元行可包括多个易失性存储器单元。
行锤击管理引擎500可基于机器学习,预测由于在第一刷新间隔之后第一参考时间间隔期间由对多个存储器单元行的至少第二部分的第一行访问模式密集地访问的多个存储器单元行中的至少一个而发生行锤击的第一概率,在所述第一刷新间隔期间所述多个存储器单元行的至少第一部分被刷新,行锤击管理引擎500可生成与行锤击相关联的锤击地址,可生成与多个存储器单元行之中的从用于应对行锤击的锤击刷新操作中排除的弃置存储器单元行相关联的弃置行列表,可提供锤击地址和指示行锤击发生的警报信号,并且可将锤击地址、警报信号和弃置行列表提供给刷新控制电路400a。
刷新控制电路400a可基于锤击地址对与对应于锤击地址的存储器单元行物理地相邻的一个或多个受害存储器单元行执行锤击刷新操作,并且可基于弃置行列表对弃置存储器单元行执行目标刷新操作。
图17是示出根据示例实施例的图16中的存储器控制器的框图。
参照图17,存储器控制器30a可包括通过总线31彼此连接的处理器35、RFM控制逻辑50、刷新逻辑40、主机接口45、调度器55和存储器接口60。
处理器35可控制存储器控制器30a的整体操作。处理器35可通过总线31控制RFM控制逻辑50、刷新逻辑40、主机接口45、调度器55和存储器接口60。
刷新逻辑40可基于半导体存储器装置200a的刷新周期生成用于刷新多个存储器单元行的存储器单元的自动刷新命令。
主机接口50可执行与主机的交互。存储器接口60可执行与半导体存储器装置200a的交互。
调度器55可管理在存储器控制器30a中生成的命令序列的调度和传输。
图18是示出根据示例实施例的图16中的半导体存储器装置的示例的框图。
参照图18,半导体存储器装置200a可包括控制逻辑电路210a、地址寄存器220、存储体控制逻辑230、刷新控制电路400a、行地址复用器(RA MUX)240、列地址(CA)锁存器250、行解码器260、列解码器270、存储器单元阵列310、读出放大器单元285、输入/输出(I/O)门控电路290、纠错码(ECC)引擎350、时钟缓冲器225、选通信号生成器235、行锤击(RH)管理引擎500和数据I/O缓冲器320。
半导体存储器装置200a在控制逻辑电路210a、刷新控制电路400a和行锤击管理引擎500的配置和/或操作方面不同于图11的半导体存储器装置200。将描述控制逻辑电路210a、刷新控制电路400a和行锤击管理引擎500,并且将省略与图11重复的描述。
刷新控制电路400a可响应于来自控制逻辑电路210a的第三控制信号CTL3,在正常刷新模式中顺序地增加或减少刷新行地址REF_ADDR。刷新控制电路400a可从行锤击管理引擎500接收锤击地址HADDR2、警报信号ALRT2和弃置行列表OCRL2,可基于锤击地址HADDR2对一个或多个受害存储器单元行执行锤击刷新操作,并且可基于弃置行列表OCRL2对弃置存储器单元行执行目标刷新操作。刷新控制电路400a可输出指定与对应于锤击地址HADDR2的存储器单元行物理地相邻的一个或多个受害存储器单元行的锤击刷新地址作为刷新行地址REF_ADDR,并且可基于弃置行列表OCRL2输出指定弃置存储器单元行作为刷新行地址REF_ADDR的目标刷新地址。
控制逻辑电路210a可控制半导体存储器装置200a的操作。例如,控制逻辑电路210a可生成用于半导体存储器装置200a的控制信号,以便执行写入操作、读取操作、正常刷新操作和锤击刷新操作。控制逻辑电路210a包括对从存储器控制器30接收的命令CMD进行解码的命令解码器211和设置半导体存储器装置200a的操作模式的模式寄存器212。
例如,命令解码器211可通过对写入使能信号、行地址选通信号、列地址选通信号、芯片选择信号等进行解码来生成对应于命令CMD的控制信号。控制逻辑电路210a可向I/O门控电路290提供第一控制信号CTL1,提供第二控制信号CTL2以控制ECC引擎350,提供第三控制信号CTL3以控制刷新控制电路400a,以及提供第四控制信号CTL4以控制行锤管理引擎500。
行锤击管理引擎500可接收地址ADDR(包括存储体地址BANK_ADDR和行地址ROW_ADDR)和命令CMD,可基于机器学习,预测由于在多个存储器单元行的第一部分被刷新的第一刷新间隔之后的第一参考时间间隔期间由对多个存储器单元行的至少第二部分的第一行访问模式密集地访问的多个存储器单元行中的至少一个而发生行锤击的第一概率,可生成与行锤击相关联的锤击地址HADDR2,可生成弃置行列表OCRL2和警报信号ALRT2,并且可向刷新控制电路400a提供锤击地址HADDR2、警报信号ALRT2和弃置行列表OCRL2。
图19是示出根据示例实施例的图18的半导体存储器装置中的行锤击管理引擎的示例的框图。
参照图19,行锤击管理引擎500可包括访问模式分析器510和行锤击预测神经网络560。
访问模式分析器510可基于行访问模式来生成访问模式分析APPF2,所述行访问模式与在多个存储器单元行的至少第一部分被刷新的刷新间隔之后的参考时间间隔期间,对存储器单元阵列310中的多个存储器单元行的至少第二部分的第一访问相关联。
行锤击预测神经网络560可基于学习数据来执行机器学习,可基于访问模式分析APPF2来预测多个存储器单元行中的由行访问模式密集地访问的至少一个存储器单元中发生行锤击的第一概率,可响应于第一概率等于或大于参考值生成与行锤击相关联的锤击地址HADDR2、弃置行列表OCRL2、以及警报信号ALRT2。
参照图3至图10C的描述可适用于访问模式分析器510和行锤击预测神经网络560。
因此,访问模式分析器510可包括攻击者行分类模块、相似性计算模块、分布生成模块、原始访问模式采样模块和分析生成器。行锤击预测神经网络可包括神经网络和决策逻辑。
图20是示出根据示例实施例的图18中的刷新控制电路的示例的框图。
参照图20,刷新控制电路400a可包括刷新控制逻辑410a、刷新时钟生成器420、刷新计数器430和锤击刷新地址生成器440a。
刷新控制逻辑410a可响应于警报信号ALRT2提供模式信号MS。另外,刷新控制逻辑410a可向锤击刷新地址生成器440a提供锤击刷新信号HREF和目标刷新信号TREF。
刷新时钟生成器420可基于第一刷新控制信号IREF1、第二刷新控制信号IREF2、以及模式信号MS,生成指示正常刷新操作的时序的刷新时钟信号RCK。刷新时钟生成器420可响应于接收到第一刷新控制信号IREF1或当第二刷新控制信号IREF2被激活时,生成刷新时钟信号RCK。
刷新计数器430可通过在刷新时钟信号RCK的周期执行计数操作来生成顺序地指定存储器单元行的计数器刷新地址CREF_ADDR,并且可将计数器刷新地址CREF_ADDR作为刷新行地址REF_ADDR提供给图18中的行地址复用器240。
锤击刷新地址生成器440a可包括锤击地址(HADDR)储存器450a、目标地址(TADDR)储存器455a和映射器460a。
锤击地址储存器450a可存储锤击地址HADDR2,并且可响应于锤击刷新信号HREF将锤击地址HADDR2输出到映射器460a。映射器460a可生成指定与对应于锤击地址HADDR2的存储器单元行物理地相邻的一个或多个受害存储器单元行的锤击刷新地址HREF_ADDR。
目标地址储存器455a可接收弃置行列表OCRL2,可基于弃置行列表OCRL2存储弃置存储器单元行的目标刷新地址TREF_ADDR,并且可基于目标刷新信号TREF输出目标刷新地址TREF_ADDR。
锤击刷新地址生成器440a可向图18中的行地址复用器240提供锤击刷新地址HREF_ADDR和目标刷新地址TREF_ADDR作为刷新行地址REF_ADDR。
图21和图22示出可用于图1的存储器系统或图16的存储器系统中的示例命令。
图21示出芯片选择信号CS_n和表示激活命令ACT、写入命令WR和读取命令RD的第一命令-地址信号CA0至第十四命令-地址信号CA13的组合,图22示出芯片选择信号CS_n和表示预充电命令PREab、PREsb和PREpb的第一命令-地址信号CA0至第十四命令-地址信号CA13的组合。
在图21和图22中,H指示逻辑高电平,L指示逻辑低电平,V指示与逻辑高电平和逻辑低电平之一对应的有效逻辑电平,R0至R17指示行地址的位,BA0和BA1指示存储体地址的位,并且CID0至CID3指示当半导体存储器装置200用包括多个存储器晶片的堆叠存储器装置实现时的存储器晶片的晶片标识符。此外,在图21中,C2至C10指示列地址的位,并且BL表示突发长度标志。
参照图21,可在两个循环期间,例如在芯片选择信号CS_n的高电平和低电平期间,传送激活命令ACT、写入命令WR和读取命令RD。活动命令ACT可包括存储体地址位BA0和BA1以及行地址位R0至R17。
在图22中,PREpb是预充电特定存储体组中的特定存储体的预充电命令,PREab是预充电所有存储体组中的所有存储体的所有存储体预充电命令,PREsb是预充电所有存储体组中的相同存储体的相同存储体预充电命令。
参照图22,预充电命令PREab和PREsb中的每一个的第九命令-地址信号CA8或第十命令-地址信号CA9可被用作通知锤击地址的标志。
图23示出当存储器系统基于预充电命令确定锤击地址时存储器系统的命令协议的示例。
参照图16、图17、图18和图23,调度器55与时钟信号CK_t的边沿同步地将第一激活命令ACT1施加到半导体存储器装置200,并且在经过时间tRAS(对应于激活到预充电时间)之后,将预充电命令PRE施加到半导体存储器装置200,该预充电命令PRE指定由目标行地址指定的目标存储器单元行是否对应于伴随有第一激活命令ACT1的锤击地址。在一些示例实施例中,调度器55可将预充电命令PRE的第十命令-地址信号CA9设置为逻辑低电平。
在对应于预充电时间tRP的时间间隔之后,调度器55与时钟信号CK_t的边沿同步地将第二激活命令ACT2施加到半导体存储器装置200,并且将直接刷新管理命令DRFM施加到半导体存储器装置200。响应于直接刷新管理命令DRFM,半导体存储器装置200在刷新循环tRFC期间对与对应于锤击地址HADDR的存储器单元行物理地相邻的一个或多个受害存储器单元行执行锤击刷新操作。在刷新循环间隔tRFC期间,从半导体存储器装置200接收直接刷新管理命令DRFM的时间点开始禁止生成其它命令。
图24是示出用于描述锤击刷新地址的生成的存储器单元阵列的一部分的示图。
图24示出存储器单元阵列中的四条字线WLt-1、WLt、WLt+1和WLu、三条位线BTLg-1、BTLg和BTLg+1,以及耦接到字线WLt-1、WLt、WLt+1和WLu以及位线BTLg-1、BTLg和BTLg+1的存储器单元MC。四条字线WLt-1、WLt、WLt+1和WLu在行方向(例如,第一方向D1)上延伸,并且沿着列方向(例如,第二方向D2)顺序地排列。三条位线BTLg-1、BTLg和BTLg+1在列方向上延伸,并且沿着行方向顺序地排列。将理解,字线WLt-1和WLt物理地直接彼此相邻,因为在字线WLt-1和WLt之间没有插入字线。
例如,中间字线WLt可对应于已经被密集地访问的锤击地址HADDR。将理解,“被密集地访问的字线”是指具有相对较高的激活次数和/或具有相对较高的激活频率的字线。每当访问锤击字线(例如,中间字线WLt)时,锤击字线WLt被启用和预充电,并且锤击字线WLt的电压电平被增大和减小。字线耦接可导致相邻字线WLt-1和WLt+1的电压电平随着锤击字线WLt的电压电平变化而波动,并且因此耦接到相邻字线WLt-1和WLt+1的存储器单元MC的单元电荷受到影响。当锤击字线WLt被更频繁地访问时,耦接到相邻字线WLt-1和WLt+1的存储器单元MC的单元电荷可能更快地丢失。
图13中的锤击地址生成器440或图20中的锤击地址生成器440a可提供表示与锤击地址HADDR的行(例如,中间字线WLt)物理地相邻的行(例如,字线WLt-1和WLt+1)的地址HREF_ADDRa和HREF_ADDRb的锤击刷新地址HREF_ADDR,并且可基于(例如,响应于)锤击刷新地址HREF_ADDR另外执行用于相邻字线WLt-1和WLt+1的刷新操作,以减少或尽可能地防止存储在存储器单元MC中的数据的丢失。另外,图13中的锤击地址生成器440或图20中的锤击地址生成器440a可提供指定耦接到字线WLu的弃置存储器单元行的目标刷新地址TREF_ADDRa,字线WLu不与字线WLt相邻但具有发生行锤击的高概率,并且对耦接到字线WLu的弃置存储器单元行执行目标刷新操作,因此防止从锤击刷新操作中排除的存储在存储器单元中的数据的丢失。
图25和图26是示出根据示例实施例的图13的刷新控制电路或图20的刷新控制电路的示例操作的时序图。
图25和图26示出刷新时钟信号RCK、锤击刷新信号HREF、目标刷新信号TREF、计数器刷新地址CREF_ADDR、锤击刷新地址HREF_ADDR和目标刷新地址TREF_ADDR相对于以脉冲形状激活的刷新控制信号IREF的生成。刷新控制信号IREF的激活时间点t1至t17之间的间隔或激活时间点t1至t10之间的间隔可以是规则的或不规则的。
参考图13、图20和图25,刷新控制逻辑410或410a可与刷新控制信号IREF的激活时间点t1至t17中的一些时间点t1至t4、t6至t10和t12至t17同步地激活刷新时钟信号RCK,可在其它时间点t5和t11激活锤击刷新信号HREF,并且可在时间点t15激活目标刷新信号TREF。
刷新计数器430或430a可与刷新时钟信号RCK的激活时间点t1至t4、t6至t10、t12至t14和t16同步地生成表示顺序地改变的地址X+1至X+13的计数器刷新地址CREF_ADDR。锤击刷新地址生成器440或440a可与锤击刷新信号HREF的激活时间点t5和t11同步地生成表示与锤击地址的行物理地相邻的行的地址Ha1和Ha2的锤击刷新地址HREF_ADDR,并且可与目标刷新信号TREF的激活时间点t15同步地生成表示与弃置存储器单元行对应的地址Ta的目标刷新地址TREF_ADDR。
参照图13、图20和图26,刷新控制逻辑410或410a可与刷新控制信号IREF的激活时间点t1至t10中的一些时间点t1至t4和t7至t10同步地激活刷新时钟信号RCK,并且可与其它时间点t5和t6同步地激活锤击刷新信号HREF。
刷新计数器430可与刷新时钟信号RCK的激活时间点t1至t4和t7至t9同步地生成表示顺序地改变的地址X+1至X+7的计数器刷新地址CREF_ADDR。锤击刷新地址生成器440可与锤击刷新信号HREF的激活时间点t5和t6同步地生成表示与锤击地址的行物理地相邻的行的地址Ha1和Ha2的锤击刷新地址HREF_ADDR。
图27是示出用于描述锤击刷新地址的生成的存储器单元阵列的一部分的示图。
图27示出存储器单元阵列中的五条字线WLt-2、WLt-1、WLt、WLt+1和WLt+2、三条位线BTLg-1、BTLg和BTLg+1以及耦接到字线WLt-2、WLt-1、WLt、WLt+1和WLt+2以及位线BTLg-1、BTLg和BTLg+1的存储器单元MC。五条字线WLt-2、WLt-1、WLt、WLt+1、WLt+2沿行方向延伸,并且沿列方向顺序地排列。
图13中的锤击地址生成器440或图20中的锤击地址生成器440a可提供表示与锤击地址HADDR的行(例如,中间字线WLt)物理地相邻的行(例如,字线WLt-2、WLt-1、WLt+1和WLt+2)的地址HREF_ADDRa、HREF_ADDRb、HREF_ADDRc和HREF_ADDRd的HREF_ADDR,并且可基于(例如,响应于)锤击刷新地址HREF_ADDR来附加地执行用于相邻字线WLt-2、WLt-1、WLt+1和WLt+2的刷新操作,以减少或尽可能地防止存储在存储器单元MC中的数据的丢失。
图28是示出根据示例实施例的图2的存储器控制器的操作的流程图。
参照图1至图10C和图28,存储器控制器30中的调度器55生成用于访问半导体存储器装置的存储器单元行的包括多个行地址的行访问(操作S110)。
访问模式分析器110基于与在多个存储器单元行被刷新的刷新间隔之后的参考时间间隔期间对半导体存储器装置200的多个存储器单元行的访问相关联的行访问模式,生成访问模式分析APPF1(操作S130)。
访问模式分析器110将访问模式分析APPF1提供至行锤击预测神经网络160(操作S150)。
行锤击预测神经网络160基于访问模式分析APPF1来预测由于多个存储器单元行中的至少一个由行访问模式密集地访问而发生行锤击发生的概率RHOP,并且确定概率RHOP是否等于或大于参考值RTH(操作S170)。
当概率RHOP小于参考值RTH时(S170中的“否”),处理可返回到操作S110。
当概率RHOP等于或大于参考值RTH时(操作S170中的是),行锤击预测神经网络160基于访问模式分析APPF1生成与行锤击相关联的锤击地址HADDR1、弃置行列表OCRL1和警报信号ALRT1(操作S190),并且将锤击地址HADDR1、弃置行列表OCRL1和警报信号ALRT1发送到半导体存储器装置。
图28的操作可适用于图16中的半导体存储器装置中的行锤击管理引擎500。
因此,根据示例实施例的存储器控制器和半导体存储器装置可基于在参考时间间隔期间的访问模式来生成访问模式分析,可基于访问模式分析并且基于机器学习来预测发生行锤击的概率,可响应于概率等于或大于参考值来生成锤击地址、弃置行列表和警报信号,可对与对应于锤击地址的存储器单元行物理地相邻的一个或多个受害存储器单元行执行锤击刷新操作,并且可基于弃置行列表对弃置存储器单元行执行目标刷新操作。因此,存储器控制器和半导体存储器装置可应对已知或未知的恶意访问模式。
图29是示出根据示例实施例的半导体存储器装置的框图。
参照图29,半导体存储器装置800可包括至少一个缓冲器晶片810及在堆叠芯片结构中提供软错误分析及纠正功能的多个存储器晶片820-1到820-p(第一晶片至第P晶片)(p为等于或大于3的自然数)。
多个存储器晶片820-1到820-p堆叠在缓冲器晶片810上并且通过多个贯穿硅通孔(TSV)线传送数据。
多个存储器晶片820-1至820-p中的每一个可包括用于存储数据的单元核821、基于要发送到至少一个缓冲器晶片810的传输数据生成传输奇偶校验位(即,传输奇偶校验数据)的单元核ECC引擎823、刷新控制电路(RCC)825、以及行锤击管理引擎(RHME)827。单元核821可包括多个具有DRAM单元结构的存储器单元。
刷新控制电路825可采用图20的刷新控制电路400a,并且行锤击管理引擎827可采用图19的行锤击管理电路500。因此,行锤击管理引擎827可预测由于单元核821中的多个存储器单元行中的至少一个由行访问模式密集地访问而发生行锤击的概率,可生成与行锤击相关联的锤击地址、与从为应对行锤击而执行的锤击刷新操作中排除的弃置存储器单元行相关联的弃置行列表、以及指示发生行锤击的警报信号,并且可将锤击地址、警报信号和弃置行列表提供给刷新控制电路825。
缓冲器晶片810可包括通孔ECC引擎812,其在从通过TSV线接收的传输数据检测到传输错误时使用传输奇偶校验位来纠正传输错误,并且生成纠错后的数据。
缓冲器晶片810还可包括数据I/O缓冲器816。数据I/O缓冲器816可通过对来自通孔ECC引擎812的数据DTA进行采样来生成数据信号DQ,并且可将数据信号DQ输出至外部。
半导体存储器装置800可以是通过TSV线传递数据和控制信号的堆叠芯片型存储器装置或堆叠存储器装置。TSV线路也可被称为“贯通电极”。
单元核心ECC引擎823可对在传输数据被发送之前从存储器晶片820-p输出的数据执行错误纠正。
形成在一个存储器晶片820-p处的数据TSV线组832可包括128条TSV线L1至Lp,而奇偶TSV线组834可包括8条TSV线L10至Lq。数据TSV线组832的TSV线L1至Lp和奇偶TSV线组834的TSV线L10至Lq可连接到微凸块MCB,所述微凸块MCB对应地形成在存储器晶片820-1至820-p之间。
半导体存储器装置800可具有三维(3D)芯片结构或2.5D芯片结构以通过数据总线B10与主机通信。缓冲器晶片810可通过数据总线B10与存储器控制器连接。
根据示例实施例,如图29中所示,单元核ECC引擎823可被包括在存储器晶片中,并且通孔ECC引擎812可被包括在缓冲器晶片中。因此,可检测和纠正软数据故障。软数据故障可包括当数据通过TSV线被发送时由于噪声而生成的传输错误。
图30是示出根据示例实施例的包括堆叠存储器装置的半导体封装件的配置图。
参照图30,半导体封装件900可包括一个或多个堆叠存储器装置910和图形处理单元(GPU)920。
堆叠存储器装置910和GPU 920可安装在插入器930上,并且其上安装有堆叠存储器装置910和GPU 920的插入器可安装在封装件基板940上,所述封装件基板940安装在焊料球950上。GPU 920可对应于可执行存储器控制功能的半导体装置,例如,GPU 920可实施为应用处理器(AP)。GPU 920可包括具有调度器的存储器控制器。
堆叠存储器装置910可以以各种形式实施,并且堆叠存储器装置910可以是其中堆叠有多个层的高带宽存储器(HBM)形式的存储器装置。因此,堆叠存储器装置910可包括缓冲器晶片及多个存储器晶片,并且所述多个存储器晶片中的每一个可包括刷新控制电路和行锤击管理引擎。
多个堆叠存储器装置910可安装在插入器930上,并且GPU 920可与多个堆叠存储器装置910通信。例如,堆叠存储器装置910和GPU 920中的每一个可包括物理区域,并且可经由物理区域在堆叠存储器装置910与GPU 920之间执行通信。同时,当堆叠存储器装置910包括直接访问区域时,可通过安装在封装件基板940和直接访问区域下面的导电装置(例如,焊料球950)将测试信号提供到堆叠存储器装置910中。
示例实施例的各方面可应用于使用采用易失性存储器单元和数据时钟信号的半导体存储器装置的系统。例如,示例实施例的各方面可应用于诸如智能电话、导航系统、笔记本计算机、台式计算机和游戏控制台的使用半导体存储器装置作为工作存储器的系统。
如本领域传统的,可按照执行所描述的一个或多个功能的块来描述和示出实施例。在本文可被称为单元或模块等的这些块由模拟和/或数字电路物理地实现,诸如逻辑门、集成电路、微处理器、微控制器、存储器电路、无源电子组件、有源电子组件、光学组件、硬连线电路等,并且可可选地由固件和/或软件驱动。例如,电路可在一个或多个半导体芯片中实现,或者在诸如印刷电路板等的衬底支撑件上实现。构成块的电路可由专用硬件、或由处理器(例如,一个或多个编程的微处理器和相关电路)、或由执行该块的一些功能的专用硬件和执行该块的其它功能的处理器的组合来实现。在不脱离本公开的范围的情况下,实施例的每个框可物理地分成两个或更多个相互作用的和离散的块。同样,在不脱离本公开的范围的情况下,实施例的块可物理地组合成更复杂的块。实施例的一方面可通过存储在非暂时性存储介质内并且由处理器执行的指令来实现。
以上是示例性实施例的说明,而不应被解释为对其的限制。尽管已经描述了一些示例性实施例,但是本领域技术人员将容易地理解,在示例性实施例中可进行许多修改,而不会实质上脱离本公开的新颖教导和优点。因此,所有这些修改都旨在包括在如权利要求中所限定的本公开的范围内。
Claims (20)
1.一种被配置为控制半导体存储器装置的存储器控制器,所述存储器控制器包括:
访问模式分析器,其被配置为基于第一行访问模式来生成第一访问模式分析,所述第一行访问模式与在第一刷新间隔之后的第一参考时间间隔期间对所述半导体存储器装置的多个存储器单元行的至少第二部分的第一访问相关联,在所述第一刷新间隔期间所述多个存储器单元行的至少第一部分被刷新;
行锤击预测神经网络,其被配置为:
基于学习数据来执行机器学习,
基于所述第一访问模式分析,预测所述多个存储器单元行中的至少一个由所述第一行访问模式密集地访问而发生行锤击的第一概率,以及
响应于所述第一概率等于或大于参考值,生成与所述行锤击相关联的锤击地址、弃置行列表、以及指示发生所述行锤击的警报信号,所述弃置行列表与所述多个存储器单元行之中的、从响应于所述第一行访问模式在所述半导体存储器装置中执行的锤击刷新操作中排除的弃置存储器单元行相关联;以及
存储器接口,其被配置为将所述锤击地址、所述弃置行列表和所述警报信号发送到所述半导体存储器装置。
2.根据权利要求1所述的存储器控制器,其中,所述访问模式分析器包括:
攻击者行分类模块,其被配置为将包括在所述第一行访问模式中的第一行地址映射到第一攻击者行标识符,
相似性计算模块,其被配置为生成指示第一刷新行地址与所述第一行地址之间的第一相似性的第一计数值,在所述刷新行地址被刷新的所述第一刷新间隔期间,所述刷新行地址当中的所述第一刷新行地址被频繁刷新,
分布生成模块,其被配置为生成在所述第一参考时间间隔期间所述第一攻击者行标识符中的每一个的访问次数的分布,以及
分析生成器,其被配置为基于所述第一攻击者行标识符、所述第一相似性和所述分布来生成所述第一访问模式分析。
3.根据权利要求2所述的存储器控制器,其中,所述相似性计算模块被配置为通过比较所述第一刷新行地址中的每一个与所述第一行地址中的每一个来生成所述第一计数值。
4.根据权利要求2所述的存储器控制器,其中,所述攻击者行分类模块、所述相似性计算模块和所述分布生成模块并行操作。
5.根据权利要求2所述的存储器控制器,还包括原始访问模式采样模块,其被配置为对所述第一行访问模式的一部分进行采样以将采样到的原始访问模式提供到所述分析生成器。
6.根据权利要求5所述的存储器控制器,其中,所述分析生成器还被配置为基于所述采样到的原始访问模式来生成所述第一访问模式分析。
7.根据权利要求1所述的存储器控制器,其中,响应于所述第一概率小于所述参考值:
所述访问模式分析器被配置为基于第二行访问模式来生成第二访问模式分析,所述第二行访问模式与在不同于所述第一刷新间隔的第二刷新间隔之后的第二参考时间间隔期间对所述多个存储器单元行的第二访问相关联,并且
所述行锤击预测神经网络被配置为基于所述第二访问模式分析来预测发生所述行锤击的第二概率。
8.根据权利要求1所述的存储器控制器,其中,所述行锤击预测神经网络包括:
神经网络,其被配置为基于所述学习数据执行所述机器学习,并且被配置为基于所述第一访问模式分析来预测所述第一概率,以及
决策逻辑,其被配置为将所述第一概率与所述参考值进行比较,并且被配置为响应于所述第一概率大于所述参考值,基于所述第一访问模式分析生成所述锤击地址、所述弃置行列表和所述警报信号。
9.根据权利要求8所述的存储器控制器,其中,所述决策逻辑被配置为基于包括在所述第一访问模式分析中的所述第一参考时间间隔期间的第一攻击者行标识符中的每一个的访问次数的分布和所述多个存储器单元行的物理位置来确定所述锤击地址和所述弃置行列表。
10.根据权利要求1所述的存储器控制器,还包括:
片上存储器;以及
处理器,其被配置为执行被加载到所述片上存储器上的所述访问模式分析器和所述行锤击预测神经网络。
11.一种半导体存储器装置,包括:
存储器单元阵列,其包括多个存储器单元行,每个存储器单元行包括多个易失性存储器单元;
行锤击管理引擎,其被配置为:
基于机器学习,预测由于在第一刷新间隔之后的第一参考时间间隔期间由对所述多个存储器单元行的至少第二部分的第一行访问模式密集地访问的所述多个存储器单元行中的至少一个而发生行锤击的第一概率,在所述第一刷新间隔期间所述多个存储器单元行中的至少第一部分被刷新,以及
生成与所述行锤击相关联的锤击地址、弃置行列表、以及指示发生所述行锤击的警报信号,所述弃置行列表与所述多个存储器单元行之中的、从用于应对所述行锤击的锤击刷新操作中排除的弃置存储器单元行相关联;以及
刷新控制电路,其被配置为接收所述锤击地址、所述警报信号和所述弃置行列表,被配置为对与对应于所述锤击地址的存储器单元行物理地相邻的一个或多个受害存储器单元行执行所述锤击刷新操作,并且被配置为基于所述弃置行列表对所述弃置存储器单元行执行目标刷新操作。
12.根据权利要求11所述的半导体存储器装置,其中,所述行锤击管理引擎包括:
访问模式分析器,其被配置为基于与对所述多个存储器单元行的所述至少第二部分的第一访问相关联的第一行访问模式来生成第一访问模式分析,以及
行锤击预测神经网络,其被配置为:
基于学习数据执行机器学习;
基于所述第一访问模式分析来预测发生所述行锤击的所述第一概率;以及
响应于所述第一概率大于参考值,生成所述锤击地址、所述弃置行列表、以及所述警报信号。
13.根据权利要求12所述的半导体存储器装置,其中:
所述访问模式分析器包括:
攻击者行分类模块,其被配置为将包括在所述第一行访问模式中的第一行地址映射到第一攻击者行标识符;
相似性计算模块,其被配置为生成指示第一刷新行地址与所述第一行地址之间的第一相似性的第一计数值,在所述刷新行地址被刷新的所述第一刷新间隔期间,所述刷新行地址当中的所述第一刷新行地址被频繁刷新;
分布生成模块,其被配置为生成在所述第一参考时间间隔期间所述第一攻击者行标识符中的每一个的访问次数的分布;以及
分析生成器,其被配置为基于所述第一攻击者行标识符、所述第一相似性和所述分布来生成所述第一访问模式分析,以及
所述攻击者行分类模块、所述相似性计算模块和所述分布生成模块并行操作。
14.根据权利要求13所述的半导体存储器装置,其中,所述相似性计算模块被配置为通过比较所述第一刷新行地址中的每一个与所述第一行地址中的每一个生成所述第一计数值。
15.根据权利要求13所述的半导体存储器装置,还包括:
原始访问模式采样模块,其被配置为对所述第一行访问模式的一部分进行采样,以向所述分析生成器提供采样到的原始访问模式,其中
所述分析生成器还被配置为基于所述采样到的原始访问模式生成所述第一访问模式分析。
16.根据权利要求12所述的半导体存储器装置,其中,响应于所述第一概率小于所述参考值:
所述访问模式分析器被配置为基于第二行访问模式来生成第二访问模式分析,所述第二行访问模式与在不同于所述第一刷新间隔的第二刷新间隔之后的第二参考时间间隔期间对所述多个存储器单元行的第二访问相关联,并且
所述行锤击预测神经网络被配置为基于所述第二访问模式分析来预测发生所述行锤击的第二概率。
17.根据权利要求12所述的半导体存储器装置,其中,所述行锤击预测神经网络包括:
神经网络,其被配置为基于所述学习数据执行所述机器学习,并且被配置为基于所述第一访问模式分析来预测所述第一概率,以及
决策逻辑,其被配置为将所述第一概率与所述参考值进行比较,并且被配置为响应于所述第一概率大于所述参考值,基于所述第一访问模式分析生成所述锤击地址、所述弃置行列表和所述警报信号。
18.根据权利要求17所述的半导体存储器装置,其中,所述决策逻辑被配置为基于包括在所述第一访问模式分析中的所述第一参考时间间隔期间的第一攻击者行标识符中的每一个的访问次数的分布和所述多个存储器单元行的物理位置来确定所述锤击地址和所述弃置行列表。
19.根据权利要求11的半导体存储器装置,其中,所述刷新控制电路包括:
刷新控制逻辑,其被配置为响应于所述警报信号生成锤击刷新信号和目标刷新信号,
刷新时钟生成器,其被配置为响应于刷新信号生成刷新时钟信号,
刷新计数器,其被配置为生成与对所述多个存储器单元行的正常刷新操作相关联的计数刷新地址,
锤击地址储存器,其被配置为存储锤击地址,并且被配置为响应于所述锤击刷新信号输出所述锤击地址,
映射器,其被配置为基于从所述锤击地址储存器输出的所述锤击地址来生成指定所述一个或多个受害存储器单元行的地址的锤击刷新地址,以及
目标地址储存器,其被配置为存储所述弃置行列表,并且被配置为响应于所述目标刷新信号输出指示所述弃置存储器单元行的行地址的目标刷新地址。
20.一种存储器系统,包括:
半导体存储器装置,其包括:存储器单元阵列,所述存储器单元阵列包括多个存储器单元行,每个存储器单元行包括多个易失性存储器单元;以及
存储器控制器,其被配置为控制所述半导体存储器装置,其中,所述存储器控制器包括:
访问模式分析器,其被配置为基于第一行访问模式来生成第一访问模式分析,所述第一行访问模式与在第一刷新间隔之后的第一参考时间间隔期间对所述多个存储器单元行的至少第二部分的第一访问相关联,在所述第一刷新间隔期间所述多个存储器单元行的至少第一部分被刷新,
行锤击预测神经网络,其被配置为:
基于学习数据执行机器学习;
基于所述第一访问模式分析,预测所述多个存储器单元行中的至少一个由所述第一行访问模式密集地访问而发生行锤击的第一概率,并且
响应于所述第一概率等于或大于参考值,生成与所述行锤击相关联的锤击地址、弃置行列表、以及指示所述行锤击发生的警报信号,所述弃置行列表与所述多个存储器单元行之中的、从响应于所述第一行访问模式在所述半导体存储器装置中执行的锤击刷新操作中排除的弃置存储器单元行相关联;以及
存储器接口,其被配置为将所述锤击地址、所述弃置行列表和所述警报信号发送到所述半导体存储器装置,其中:
所述半导体存储器装置被配置为响应于所述警报信号执行以下操作:
对与对应于所述锤击地址的存储器单元行物理地相邻的一个或多个受害存储器单元行执行所述锤击刷新操作;以及
基于所述弃置行列表对所述弃置存储器单元行执行目标刷新操作。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0152154 | 2021-11-08 | ||
KR20210152154 | 2021-11-08 | ||
KR10-2022-0002444 | 2022-01-07 | ||
KR1020220002444A KR20230067431A (ko) | 2021-11-08 | 2022-01-07 | 메모리 컨트롤러, 반도체 메모리 장치 및 메모리 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116089943A true CN116089943A (zh) | 2023-05-09 |
Family
ID=86207024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211378100.9A Pending CN116089943A (zh) | 2021-11-08 | 2022-11-04 | 存储器控制器和包括该存储器控制器的存储器系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11942137B2 (zh) |
CN (1) | CN116089943A (zh) |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2679540B2 (ja) * | 1992-07-15 | 1997-11-19 | ヤマハ株式会社 | メモリ制御装置 |
US9299400B2 (en) | 2012-09-28 | 2016-03-29 | Intel Corporation | Distributed row hammer tracking |
US9355689B2 (en) | 2013-08-20 | 2016-05-31 | Oracle International Corporation | Detection of multiple accesses to a row address of a dynamic memory within a refresh period |
KR102399475B1 (ko) * | 2015-12-28 | 2022-05-18 | 삼성전자주식회사 | 리프레쉬 콘트롤러 및 이를 포함하는 메모리 장치 |
US9741421B1 (en) | 2016-04-05 | 2017-08-22 | Micron Technology, Inc. | Refresh circuitry |
US9805772B1 (en) | 2016-10-20 | 2017-10-31 | Micron Technology, Inc. | Apparatuses and methods to selectively perform logical operations |
KR102410924B1 (ko) * | 2018-05-14 | 2022-06-20 | 삼성전자주식회사 | 해머 리프레쉬 동작을 수행하는 리프레쉬 제어 회로, 메모리 장치 및 메모리 장치의 동작 방법 |
EP3830826A4 (en) * | 2018-08-03 | 2022-04-20 | Micron Technology, Inc. | METHODS OF ROWHAMMER MITIGATION AND STORAGE DEVICES AND SYSTEMS USING THEREOF |
KR102617016B1 (ko) * | 2018-09-17 | 2023-12-27 | 삼성전자주식회사 | 자주 접근되는 어드레스를 검출하는 레지스터 클럭 드라이버를 포함하는 메모리 모듈 |
KR20210016981A (ko) * | 2019-08-06 | 2021-02-17 | 에스케이하이닉스 주식회사 | 로우 해머 방지 회로, 로우 해머 방지 회로를 포함하는 메모리 모듈 및 이를 포함하는 메모리 시스템 |
US11270756B2 (en) | 2019-08-28 | 2022-03-08 | Micron Technology, Inc. | Row hammer mitigation |
US20210264999A1 (en) | 2021-05-03 | 2021-08-26 | Intel Corporation | Method and apparatus for memory chip row hammer threat backpressure signal and host side response |
US20230367486A1 (en) * | 2022-05-10 | 2023-11-16 | Micron Technology, Inc. | Block conversion to preserve memory capacity |
-
2022
- 2022-06-01 US US17/829,669 patent/US11942137B2/en active Active
- 2022-11-04 CN CN202211378100.9A patent/CN116089943A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230143905A1 (en) | 2023-05-11 |
US11942137B2 (en) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11610623B2 (en) | Apparatus with a row-hammer address latch mechanism | |
CN101055760B (zh) | 半导体存储器件及其驱动方法 | |
CN113010446A (zh) | 具有内部操作管理机制的设备 | |
US9036439B2 (en) | Semiconductor memory device having improved refresh characteristics | |
US20220189537A1 (en) | Semiconductor memory device and memory system including the same | |
CN103680594A (zh) | 降低写失败的存储器件、包括该存储器件的系统及其方法 | |
US11705181B2 (en) | Methods for adjusting row hammer refresh rates and related memory devices and systems | |
US20200135291A1 (en) | Shared error check and correct logic for multiple data banks | |
US10497422B2 (en) | Memory device performing care operation for disturbed row and operating method thereof | |
US20230141789A1 (en) | Semiconductor memory device and method of operating the same | |
CN112819147A (zh) | 基于存储器的神经形态设备 | |
CN114077384A (zh) | 存储器装置和用于控制存储器装置的刷新操作的方法 | |
CN106782633B (zh) | 动态随机存取存储器,储存数据及读取和刷新的方法 | |
EP4141872A1 (en) | Memory controller and memory system including the same | |
US11955159B2 (en) | Semiconductor memory device and memory system including the same | |
Ahn et al. | Adaptive self refresh scheme for battery operated high-density mobile DRAM applications | |
KR20220141879A (ko) | 온 메모리 패턴 매칭을 인터페이싱하기 위한 장치 및 방법 | |
US11942137B2 (en) | Memory controller and memory system including the same | |
KR20230067431A (ko) | 메모리 컨트롤러, 반도체 메모리 장치 및 메모리 시스템 | |
US11901025B2 (en) | Semiconductor memory device and method of operating semiconductor memory device | |
US11922031B1 (en) | Apparatus with directed refresh management mechanism | |
US20240096391A1 (en) | Memory devices and methods thereof for managing row hammer events therein | |
US20240144988A1 (en) | Memory device, memory system including memory device, and method of operating memory device | |
최해랑 | In-DRAM Neural Network Accelerator Architecture for Binary Neural Network | |
KR20230068232A (ko) | 반도체 메모리 장치 및 이의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |