CN111399757B - 存储器***及其操作方法 - Google Patents
存储器***及其操作方法 Download PDFInfo
- Publication number
- CN111399757B CN111399757B CN201910955125.2A CN201910955125A CN111399757B CN 111399757 B CN111399757 B CN 111399757B CN 201910955125 A CN201910955125 A CN 201910955125A CN 111399757 B CN111399757 B CN 111399757B
- Authority
- CN
- China
- Prior art keywords
- row
- memory
- access count
- row group
- controller
- 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.)
- Active
Links
Images
Classifications
-
- 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
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
- 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
- G06F3/0658—Controller construction arrangements
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- 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/0625—Power saving in storage systems
-
- 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/0629—Configuration or reconfiguration of storage systems
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0653—Monitoring storage devices or systems
-
- 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
-
- 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
- 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
- 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
- G11C11/4087—Address decoders, e.g. bit - or word line decoders; Multiple line decoders
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Dram (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本文描述了存储器***及其操作方法。一种存储器***可以包括:存储器池,包括多个存储器区域;以及控制器,适用于控制存储器池,其中每个存储器区域包括一个或多个行组,每个行组具有预定行组大小,并且其中控制器对相应存储器区域的行访问次数进行计数,根据相应存储器区域的行访问计数确定行组大小,当某行被访问时,增加包括该行的行组的代表性访问计数,以及向存储器池提供命令以对其代表性访问计数超过阈值的目标行组执行目标刷新操作。
Description
相关申请的交叉引用
本申请要求于2019年1月3日提交的韩国专利申请No.10-2019-0000681的优先权,其全部内容通过引用并入本文。
技术领域
示例性实施例涉及存储器***,并且更具体地涉及包括存储器装置的存储器***及其操作方法。
背景技术
计算机环境范例已经转变为普适计算,其使得能够随时随地使用计算***。结果,诸如移动电话、数码相机和膝上型计算机等便携式电子装置的使用迅速增加。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器***来存储数据。存储器***可以用作便携式电子装置的主存储器装置或辅助存储器装置。
由于存储器***没有移动部件,存储器***提供诸如优异的稳定性和耐用性、高信息访问速度和低功耗等优点。
当存储器单元被连续访问时,与对应的存储器单元相邻的存储器单元可能始终受到电磁场的影响。在这种情况下,存储在该存储器单元中的数据可能会失真。这种现象被称为行锤击。
发明内容
各种实施例涉及能够在有效地使用有限的存储器资源和存储器***的功率的同时防止由行锤击引起的数据失真的方法、以及使用该方法的存储器***。
在一个实施例中,一种存储器***可以包括:存储器池,包括多个存储器区域;以及控制器,适用于控制存储器池,其中每个存储器区域包括一个或多个行组,每个行组具有预定行组大小,并且其中控制器对相应存储器区域的行访问次数进行计数,根据相应存储器区域的行访问计数确定行组大小,当某行被访问时,增加包括该行的行组的代表性访问计数,以及向存储器池提供命令以对其代表性访问计数超过阈值的目标行组执行目标刷新操作。
在一个实施例中,提供了一种存储器***的操作方法,该存储器***包括多个存储器区域,每个存储器区域包括一个或多个行组,每个行组具有预定行组大小。操作方法可以包括:对相应存储器区域的行访问次数进行计数;根据相应存储器区域的行访问计数确定行组大小;当某行被访问时,增加包括该行的行组的代表性访问计数;以及向存储器池提供命令以对其代表性访问计数超过阈值的目标行组执行目标刷新操作。
在一个实施例中,提供了一种存储器***,其包括:存储器池,包括多个存储器装置;以及控制器,适用于确定针对多个存储器集合中的每一个的行访问计数,每个存储器集合包括两个或更多个存储器装置;基于对应的行访问计数针对每个存储器集合分配行组的大小,该行组包括多个行;响应于访问请求,更新对应行组的组行访问计数;基于已更新的组行访问计数对对应行组执行刷新操作。
附图说明
图1是示出包括存储器单元阵列的存储器装置的框图。
图2示出了根据实施例的包括存储器***的数据处理***的结构。
图3是示出根据实施例的存储器***的操作的流程图。
图4A示意性地示出了存储器单元阵列。
图4B示意性地示出了存储在存储器中的数据的一部分。
图5至图8示出了根据本实施例的包括存储器***的数据处理***的结构。
具体实施方式
下文中,将参考附图详细描述示例性实施例。应当理解,以下描述将集中于理解根据实施例的操作所需要的部分,并且将省略其他部分的描述,以免不必要地模糊本公开的主题。
下文中,将参考附图更详细地描述示例性实施例。
图1是示出存储器装置1000的框图。其中存储器装置1000是动态随机存取存储器(DRAM)的情况将被例示以描述本实施例。
参考图1,存储器装置1000可以包括存储器单元阵列1010、行解码器1020、感测放大器1030、列解码器1040、刷新控制电路1050、命令解码器1060、地址缓冲器1070、以及数据输入和输出(输入/输出)电路1080。
存储器单元阵列1010可以包括布置在行和列方向上的多个存储器单元。在本说明书中,布置在一个行方向上的存储器单元可以被定义为行。
作为示例,图1示出了存储器单元的行方向布置。多个存储器单元不仅可以包括用于存储数据的普通存储器单元,还可以包括用于替换已经发生错误的存储器单元的冗余单元。冗余单元可以具有与普通存储器单元相同的结构,并且包括冗余单元的冗余单元阵列可以用作存储器装置1000的额外存储器区域。
命令解码器1060可以从控制器(未示出)接收命令CMD1,并且通过解码命令CMD1来在内部生成控制信号。控制信号可以包括有效信号、读信号、写信号和刷新信号。刷新控制电路1050可以从命令解码器1060接收刷新信号,并且向行解码器1020输出行地址,以便刷新存储器单元阵列1010的一个字线。
存储器装置100可以从控制器与命令CMD1一起接收地址ADD1。地址ADD1可以指定要写入/读取数据的存储器单元阵列1010的存储器单元。地址缓冲器1070可以从控制器接收地址ADD1并且生成行和列地址。
行解码器1020可以解码从刷新控制电路1050或地址缓冲器1070输出的行地址,以便指定存储器单元阵列1010的一个字线。也就是说,在写入/读取操作期间,行解码器1020可以解码从地址缓冲器1070输出的行地址,并且启用耦合到要写入/读取数据的存储器单元的字线。此外,行解码器1020可以刷新与从刷新控制电路1050输出的行地址相对应的字线。
感测放大器1030可以感测和放大耦合到由行解码器1020指定的字线的存储器单元的数据,并且存储该存储器单元的数据。列解码器1040可以解码从地址缓冲器1070输出的列地址,以便指定耦合到要输入或输出数据的一个或多个存储器单元的一个或多个位线。
数据输入/输出电路1080可以输出通过感测放大器1030从存储器单元阵列1010中的存储器单元接收的数据,或者向对应的存储器单元输入数据。结果,可以基于地址ADD1将通过数据输入/输出电路1080输入的数据写入存储器单元阵列1010,或者可以通过数据输入/输出电路1080将基于地址ADD1从存储器单元阵列1010读取的数据输出到控制器。
当行解码器1020向与第N行Row_N相对应的字线施加电压以便访问第N行Row_N时,可以在对应的字线周围形成电磁场。当频繁访问第N行Row_N时,第N行Row_N的相邻行(例如,第(N-1)行Row_N-1和第(N+1)行Row_N+1)可能始终受到电磁场的影响,并且存储在相邻行中的数据可能会失真。也就是说,可能发生行锤击。
为了防止由于行锤击而导致存储在存储器单元阵列1010中的数据的丢失,可以执行目标刷新操作。具体地,当频繁访问某行时,可以对该行的相邻行执行目标刷新操作。
用于控制存储器装置1000的控制器可以对存储器单元阵列1010的每个行的访问次数进行计数,以便确定存储器单元阵列1010内的存储器单元被访问的频率。随着存储器***的容量增加,控制器可以控制包括多个存储器装置1000的存储器池。因此,控制器可能需要大量的存储器资源来对每个行的访问次数进行计数。
控制器可以对多个行组的访问次数进行计数,每个行组包括多个行。此外,控制器可以控制存储器池对访问计数超过阈值的行组执行刷新操作。当行组中的某些行被频繁访问时,对应的行组的访问计数可能超过阈值。在这种情况下,当对整个行组执行刷新操作时,功耗可能增加。
根据一个实施例,控制器可以控制包括多个存储器区域的存储器池。控制器可以对包括一行或多行的每个行组的访问次数进行计数,并且根据预定标准灵活地决定行组大小,即,行组中的行的数数。
在一个实施例中,控制器可以基于随时间变化的相应存储器区域的行访问计数来确定相应存储器区域的行组大小。控制器可以按照对应的行组大小对相应存储器区域的行进行分组。当某行被访问时,控制器可以增加包括该行的行组的代表性访问计数。此外,控制器可以向存储器池提供命令以对其代表性访问计数超过阈值的行组执行目标刷新操作。
根据实施例,控制器可以根据预定标准灵活地确定相应存储器区域的行组大小,从而优化对访问次数进行计数所需要的存储器资源量和功耗。
图2示意性地示出了根据实施例的包括存储器***110的数据处理***100的结构。
参考图2,数据处理***100可以包括主机102和存储器***110。
主机102可以包括一个或多个处理元件。主机102可以向存储器***110传送命令。存储器***110可以响应于主机102的命令而操作。具体地,存储器***110可以存储由主机102访问的数据。存储器***110可以用作主机102的主存储器装置或辅助存储器装置。
存储器***110可以包括控制器130和存储器池150。存储器池150可以响应于控制器130的控制而写入数据和读取所存储的数据。
存储器池150可以包括多个存储器模块152,并且每个存储器模块152可以包括多个存储器装置1000。多个存储器装置1000可以具有相同的特性或不同的特性。在各种实施例中,存储器模块152可以包括在存储容量或延时方面具有不同特性的存储器装置1000。也就是说,一个存储器模块152可以是会聚存储器装置,其中诸如动态随机存取存储器(DRAM)、相变RAM(PCRAM)、磁性RAM(MRAM)、自旋转移力矩RAM(STT-RAM)和闪存的多个存储器装置被会聚。
在一个实施例中,存储器模块152可以是双列直插式存储器模块(DIMM)。例如,存储器模块152可以是无缓冲的双列直插式存储器模块(UDIMM)、注册的双列直插式存储器模块(RDIMM)、负载减少的双列直插式存储器模块(LRDIMM)、完全缓冲的双列直插式存储器模块(FBDIMM)等。
存储器池150可以被划分为多个存储器区域。每个存储器区域可以包括一个或多个存储器模块152或一个或多个存储器装置1000。
控制器130可以包括数据控制单元134、多个存储器控制单元(MCU)136、以及输入和输出(I/O)接口132。
数据控制单元134可以控制存储器***110的整体操作。例如,数据控制单元134可以响应于写入命令来控制将从主机102提供的写入数据写入存储器池150的写入操作。又例如,数据控制单元134可以响应于读取命令来控制读取存储在存储器池150中的数据并且将读取的数据提供给主机102的读取操作。
在一个实施例中,数据控制单元134可以包括用于存储器***110的操作的存储器138。存储器138可以存储将在下面描述的各个行组的访问计数。
多个存储器控制单元136可以支持数据控制单元134与相应存储器模块152之间的接口。
I/O接口132可以支持数据控制单元134与主机102之间的接口。此时,主机102和I/O接口132可以通过互连板300连接,互连板300将在下面参考图7描述。I/O接口132可以使用与一种或多种有线/无线通信技术相关的协议,将从数据控制单元134传输的数据输出到主机102,以及将从主机102接收的数据输入到数据控制单元134。例如,I/O接口132可以根据诸如***部件互连快速(PCIe)、快速通道互连(QPI)和以太网等协议来支持数据控制单元134与主机102之间的通信。此外,I/O接口132可以根据诸如用于加速器的高速缓存一致性互连(CCIX)和GEN-Z等接口规范来支持数据控制单元134与主机102之间的通信。
图3是示出根据实施例的存储器***(例如,图2的存储器***110)的操作的流程图。
参考图3,在步骤S302处,控制器130可以对随时间变化的相应存储器区域的行访问次数进行计数。
相应存储器区域的行访问计数可以根据存储在存储器区域中的数据的属性和主机102的访问模式而不同。此外,当存储在存储器区域中的数据的属性和主机102的访问模式改变时,相应存储器区域的行访问计数可以随时间变化。
在步骤S304处,控制器130可以根据相应存储器区域的行访问计数来确定存储器区域的行组大小。
在一个实施例中,控制器130可以确定相应存储器区域的行组大小,使得具有相对较高行访问计数的存储器区域与具有相对较低行访问计数的存储器区域相比具有更大的行组大小。
在一个实施例中,控制器130可以确定相应存储器区域的行组大小,使得具有的行访问计数大于或等于阈值的存储器区域与具有的行访问计数小于阈值的存储器区域相比具有更大的行组大小。也就是说,控制器130可以基于随时间变化的相应区域的行访问计数以及一个或多个阈值来确定行组大小。
控制器130可以基于随时间变化的相应存储器区域的行访问计数来确定一个或多个阈值。例如,控制器130可以将代表性值确定为阈值。代表性值可以包括随时间变化的相应存储器区域的行访问计数的平均值或中值。
在步骤S306处,控制器130可以按照对应的行组大小对每个存储器区域中的行进行分组。
根据本实施例,被频繁访问的存储器区域的行组与不被频繁访问的存储器区域的行组相比可以包括更多的行。
在一个实施例中,控制器130可以基于行组大小将一个或多个连续行设置为行组。
图4A示意性地示出了存储器单元阵列(例如,图1的存储器单元阵列1010)的结构。
作为示例,图4A示出了存储器单元阵列1010内的存储器单元的行方向布置。存储器单元可以布置为18行。图4A的示例基于包括存储器单元阵列1010的存储器区域的行组的大小为“3”的这一假定。控制器130可以将存储器单元阵列1010的三行设置为一个行组。在图4A中,加阴影的第四行Row 4至第六行Row 6可以指示行组之一。
图4B示意性地示出了存储在存储器138中的数据的一部分。
参考图4B,存储器138可以存储相应行组的代表性访问计数。如图4A所示,存储器单元可以包括18行,这18行可以被分成六个行组。为方便起见,图4B示出了相应行组的索引和每个行组中的行。例如,第二行组可以包括第四行Row_4至第六行Row_6。
再次参考图3,在步骤S308处,当某行被访问时,控制器130可以增加包括该行的行组的代表性访问计数。
例如,当第四行Row_4的存储器单元被访问时,控制器130可以增加包括第四行Row_4至第六行Row_6的第二行组的代表性访问计数。即使当第五行Row_5的存储器单元或第六行Row_6的存储器单元被访问时,控制器130也可以增加第二行组的代表性访问计数。
在步骤S310处,控制器130可以向存储器池150提供命令以对行组之中其代表性访问计数超过阈值的行组执行目标刷新操作。
具体地,控制器130可以向包括对应行组的存储器装置1000提供命令,使得能够响应于刷新命令而对行组执行刷新操作。存储器装置1000可以驱动图1的刷新控制电路1050以对对应行组执行刷新操作。
被频繁访问的存储器区域的行组可以包括大量行。因此,当控制器130控制针对被频繁访问的存储器区域的行组的目标刷新操作时,可以一次对大量行执行目标刷新操作。控制器130可以控制被频繁访问的存储器区域中的存储器装置1000以一次对大量行执行目标刷新操作,从而保持存储在被频繁访问的存储器区域中的数据的可靠性。控制器130可以对包括被频繁访问的存储器区域中的大量行的少量行组的访问次数进行计数,从而减少存储器138的存储器资源消耗。
另一方面,不被频繁访问的存储器区域的行组可以包括少量行。因此,当控制器130控制针对不被频繁访问的存储器区域的行组的目标刷新操作时,可以一次对少量行执行目标刷新操作。尽管不被频繁访问的存储器区域的一些行以高频率被访问,但是存储器区域作为整体可以被不被频繁地访问。因此,尽管存储器装置1000一次对少量行执行目标刷新操作,但是存储在不被频繁访问的存储器区域中的数据的可靠性可以被保持。因此,控制器130可以控制不被频繁访问的存储器区域中的存储器装置1000以一次对少量行执行目标刷新操作,从而减少存储器***110的功耗。
根据本实施例,控制器130可以根据随时间变化的每个存储器区域的访问计数来计算每个存储器区域中具有不同大小的行组的代表性访问计数。因此,存储器***110的有限功率和存储器资源可以有效地用于保持存储器***110的可靠性。
当某个行组的访问计数超过预定阈值时,可能在该行组的相邻行中发生行锤击。参考图4A和图4B,当由于第四行被频繁访问而导致第二行组的访问计数超过预定阈值时,可能在第二行组周围的第三行中发生行锤击。
因此,根据实施例,控制器130可以将针对其代表性访问计数超过阈值的行组的刷新命令以及针对对应行组的相邻行的刷新命令提供给对应存储器区域。根据一种实现,可以动态地改变相邻行的范围。例如,可以基于存储器区域的温度来确定相邻行的范围。
由于相应存储器区域的行访问计数随时间变化,可以动态地改变相应存储器区域的行组大小。在一个实施例中,控制器130可以重置其行组大小发生改变的存储器区域的所有行组的访问计数。此外,控制器130可以控制对应存储器区域以对其访问计数被重置的存储器区域的所有行执行目标刷新操作。尽管对应存储器区域的相应行组的访问计数是未知的,但是控制器130可以对所有行执行目标刷新操作,从而保证存储在对应存储器区域中的数据的可靠性。
参考图1至图4B描述的存储器***110可以作为存储器板被安装在机架中,并且构成服务器***或数据处理***,诸如数据中心。将参考图5至图8描述根据本实施例的包括存储器***110的数据处理***。
图5是示出数据处理***10的框图。
参考图5,数据处理***10可以包括多个计算机架20、管理接口30、以及用于计算机架20与管理接口30之间的通信的网络40。具有这种机架规模架构的数据处理***10可以由数据中心使用以用于处理大规模数据。
每个计算机架20可以单独地实现一个计算装置。可替代地,每个计算机架20可以与一个或多个其他计算机架组合以实现一个计算装置。下面描述计算机架20的示例结构和操作。
管理接口30可以针对用户提供交互式界面以控制、实施或管理数据处理***10。管理接口30可以实现为任何类型的计算装置,该计算装置包括计算机、多处理器***、服务器、机架式服务器、板服务器、膝上型计算机、笔记本计算机、平板计算机、可穿戴计算装置、网络装置、web装置、分布式计算***、基于处理器的***、消费电子装置等中的任何一种。
在本公开的一些实施例中,管理接口30可以实现为分布式***,该分布式***具有可以由计算机架20执行的操作功能或者具有可以由管理接口30执行的用户界面功能。在本公开的其他实施例中,管理接口30可以实现为包括通过网络40分布的多计算装置的虚拟云服务器。管理接口30可以包括处理器、输入/输出子***、存储器、数据存储装置、通信电路等。
网络40可以在计算机架20与管理接口30之间和/或在计算机架20之间提供和/或接收数据。网络40可以利用适当数目的各种有线和/或无线网络来实现。例如,网络40可以包括公共可访问的全球网络,诸如有线或无线局域网(LAN)、广域网(WAN)、蜂窝网络和/或因特网。另外,网络40可以包括适当数目的辅助网络装置,诸如辅助计算机、路由器、交换机等。
图6示出了根据本公开的实施例的计算机架20的架构。
参考图6,计算机架20可以包括各种形式和结构的组成元件。例如,计算机架20可以包括多个抽屉21至29。抽屉21至29中的每一个可以包括多个模块,每个模块可以包括多个板。
在本公开的各种实施例中,计算机架20可以通过适当数目的计算机板、存储器板和/或互连板的组合来实现。计算机架20被描述为板的组合,但是计算机架20也可以由其他元件实现,诸如抽屉、模块、托盘、板、框格或其他合适的单元。计算机架20可以具有这样的结构:其中其组成元件根据其功能被分解和分类。计算机架20可以具有互连板、计算机板和存储器板的结构,其具有从上到下的分类顺序,但是计算机架20不限于这种结构。计算机架20和包括计算机架20的计算装置可以被称为“机架规模***”或“分解***”。
在本公开的实施例中,计算装置可以被实现为一个计算机架20。在其他实施例中,计算装置可以由两个或更多个计算机架20的全部或一些组成元件来实现,或者由一个计算机架20的一些组成元件来实现。
在本公开的各种实施例中,计算装置可以由计算机架20中包括的适当数目的计算机板、存储器板和互连板的组合来实现。例如,计算机架20A可以包括两个计算机板、三个存储器板和一个互连板。在其他示例中,计算机架20B可以包括三个计算机板、两个存储器板和一个互连板。在其他示例中,计算机架20C可以包括一个计算机板、四个存储器板和一个互连板。
尽管图6示出了计算机架20包括适当数目的计算机板、存储器板和互连板的示例,但是计算机架20可以包括可以被包括在典型服务器中的附加组成元件,诸如电力***、冷却***、输入/输出装置等。
图7示出了根据本公开的实施例的计算装置20。
参考图7,计算装置20可以包括多个计算机板200、多个存储器板400和互连板300。计算机板200可以是池计算机板或池计算机***。存储器板400可以是池存储器板或池存储器***。计算装置20被描述为多个板的组合,但是计算装置20也可以由诸如抽屉、模块、托盘、板、框格或其他合适的单元等元件实现。
每个计算机板200可以包括处理元件,诸如一个或多个处理器、处理/控制电路和中央处理单元(CPU)。参考图1描述的主机102可以对应于计算机板200。
每个存储器板400可以包括各种类型的存储器,诸如多个易失性存储器和/或非易失性存储器。例如,每个存储器板400可以包括多个动态随机存取存储器(DRAM)、闪存、存储器卡、硬盘驱动器(HDD)、固态驱动器(SSD)和/或其组合。
参考图1至图4描述的存储器***110可以对应于每个存储器板400。存储器板400可以包括多个存储器区域。存储器板400可以对随时间变化的相应存储器区域的行访问次数进行计数,并且根据相应存储器区域的访问次数来确定存储器区域的行组大小。存储器板400可以按照对应的行组大小对每个存储器区域的行进行分组。当某行被访问时,存储器板400可以增加包括该行的行组的代表性访问计数。此外,存储器板400可以向对应存储器区域提供命令以对行组之中其代表性访问计数超过阈值的行组执行目标刷新操作的。因此,根据本实施例,存储器***110可以通过有效地使用存储器板400的有限功率和存储器资源来保持每个存储器板400的可靠性。
每个存储器板400可以由每个计算机板200中包括的一个或多个处理元件划分、分配或指定并且由其使用。此外,每个存储器板400可以存储可以由计算机板200初始化和/或执行的一个或多个操作***(OS)。
互连板300可以包括可以由每个计算机板200中包括的一个或多个处理元件划分、分配或指定并且由其使用的通信电路、通信装置或其组合。例如,互连板300可以由任何合适数目的网络接口端口、接口卡或接***换机实现。互连板300可以使用与一种或多种有线通信技术相关的协议进行通信。例如,互连板300可以基于诸如***部件互连快速(PCIe)、快速通道互连(QPI)、以太网等协议中的一种或多种来支持计算机板200与存储器板400之间的通信。
图8是示出根据本公开的实施例的计算机板200的框图。
参考图8,计算机板200可以包括一个或多个中央处理单元(CPU)210、一个或多个本地存储器220、以及输入/输出(I/O)接口230。
CPU 210可以在图7所示的存储器板400之间划分、分配或指定要使用的一个或多个存储器板。此外,CPU 210可以初始化一个或多个存储器板,并且对一个或多个存储器板执行数据读取操作和/或数据写入(即,编程)操作。
本地存储器220可以存储数据以执行CPU 210的操作。在本公开的各种实施例中,本地存储器220可以与CPU 210一一对应。
输入/输出接口230可以通过图7的互连板300支持CPU 210与存储器板400之间的接口。输入/输出接口230可以使用与一种或多种有线通信技术相关的协议,从CPU 210向互连板300输出和提供数据,并且接收从互连板300输入到CPU 210的数据。例如。输入/输出接口230可以使用诸如***部件互连快速(PCIe)、快速通道互连(QPI)、以太网等协议中的一种或多种来支持CPU 210与互连板300之间的通信。
根据本发明的实施例,可以提供一种存储器***,其通过分别反映本地地址的访问计数来确定数据属性,并且将具有不同属性的数据分类并且存储在存储器池中。
根据本实施例,可以提供一种能够在有效地使用存储器***的有限的存储器资源和功率的同时防止由行锤击引起的数据失真的方法、以及一种使用该方法的存储器***。
尽管出于说明性目的描述了各种实施例,但是对于本领域技术人员很清楚的是,在不脱离在所附权利要求中限定的本发明的精神和范围的情况下,可以进行各种改变和修改。
Claims (16)
1.一种存储器***,包括:
存储器池,包括多个存储器区域;以及
控制器,适用于控制所述存储器池,
其中所述存储器区域中的每个存储器区域包括一个或多个行组,每个行组具有预定行组大小,以及
其中所述控制器对相应存储器区域的行访问次数进行计数,根据所述相应存储器区域的行访问计数来确定行组大小,当某行被访问时,增加包括所述行的行组的代表性访问计数,以及向所述存储器池提供命令以对其代表性访问计数超过阈值的目标行组执行目标刷新操作。
2.根据权利要求1所述的存储器***,其中所述控制器确定所述相应存储器区域的所述行组大小,使得具有相对较高行访问计数的存储器区域与具有相对较低行访问计数的存储器区域相比具有更大的行组大小。
3.根据权利要求1所述的存储器***,其中所述控制器进一步向所述存储器池提供命令以对所述目标行组的相邻行执行目标刷新操作。
4.根据权利要求1所述的存储器***,其中所述控制器基于所述行组大小来对连续行进行分组。
5.根据权利要求1所述的存储器***,其中所述控制器对具有的行组大小改变的存储器区域中的所有行组的所述代表性访问计数进行重置。
6.根据权利要求5所述的存储器***,其中所述控制器向所有行组的所述代表性访问计数被重置的所述存储器区域提供命令,使得目标刷新操作被执行在对应的所述存储器区域的所有行上。
7.根据权利要求1所述的存储器***,其中所述控制器基于所述相应存储器区域的所述行访问计数和一个或多个阈值来确定所述行组大小,以及基于随时间变化的所述相应存储器区域的所述行访问计数来确定所述一个或多个阈值。
8.一种存储器***的操作方法,所述存储器***包括多个存储器区域,每个存储器区域包括一个或多个行组,每个行组具有预定行组大小,所述操作方法包括:
对相应存储器区域的行访问次数进行计数;
根据所述相应存储器区域的行访问计数来确定行组大小;
当某行被访问时,增加包括所述行的行组的代表性访问计数;以及
向存储器池提供命令以对其代表性访问计数超过阈值的目标行组执行目标刷新操作。
9.根据权利要求8所述的操作方法,其中根据所述相应存储器区域的所述行访问计数来确定所述行组大小包括:确定所述相应存储器区域的所述行组大小,使得具有相对较高行访问计数的存储器区域与具有相对较低行访问计数的存储器区域相比具有更大的行组大小。
10.根据权利要求8所述的操作方法,进一步包括:对所述目标行组的相邻行执行目标刷新操作。
11.根据权利要求8所述的操作方法,进一步包括:基于所述行组大小来对连续行进行分组。
12.根据权利要求8所述的操作方法,进一步包括:对具有的行组大小改变的存储器区域中的所有行组的所述代表性访问计数进行重置。
13.根据权利要求12所述的操作方法,进一步包括:对所有行组的所述代表性访问计数被重置的所述存储器区域的所有行执行目标刷新操作。
14.根据权利要求8所述的操作方法,其中根据所述相应存储器区域的所述行访问计数来确定所述行组大小包括:基于所述相应存储器区域的所述行访问计数和一个或多个阈值来确定所述行组大小,
其中所述操作方法进一步包括:基于随时间变化的所述相应存储器区域的所述行访问计数来确定所述一个或多个阈值。
15.一种存储器***,包括:
存储器池,包括多个存储器装置;以及
控制器,适用于:
确定多个存储器集合中的每个存储器集合的行访问计数,每个存储器集合包括两个或更多个存储器装置;
基于对应的所述行访问计数来针对每个存储器集合分配行组的大小,所述行组包括多个行;
响应于访问请求,更新对应行组的组行访问计数;
基于已更新的组行访问计数来对所述对应行组执行刷新操作。
16.根据权利要求15所述的存储器***,其中当已更新的组行访问计数超过阈值时,所述控制器执行所述刷新操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190000681A KR102687575B1 (ko) | 2019-01-03 | 메모리 시스템 및 메모리 시스템의 동작방법 | |
KR10-2019-0000681 | 2019-01-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111399757A CN111399757A (zh) | 2020-07-10 |
CN111399757B true CN111399757B (zh) | 2023-03-10 |
Family
ID=71404409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910955125.2A Active CN111399757B (zh) | 2019-01-03 | 2019-10-09 | 存储器***及其操作方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10908846B2 (zh) |
CN (1) | CN111399757B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11188471B2 (en) | 2020-04-03 | 2021-11-30 | Alibaba Group Holding Limited | Cache coherency for host-device systems |
FR3120153B1 (fr) * | 2021-02-22 | 2024-02-16 | Upmem | 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 |
KR20230022474A (ko) | 2021-08-09 | 2023-02-16 | 삼성전자주식회사 | 메모리 장치 및 시스템 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104350546A (zh) * | 2012-06-30 | 2015-02-11 | 英特尔公司 | 行锤击刷新命令 |
CN104737234A (zh) * | 2012-11-30 | 2015-06-24 | 英特尔公司 | 基于所存储的行锤击阈值的值的行锤击监视 |
WO2016113223A1 (en) * | 2015-01-12 | 2016-07-21 | The University Of Manchester | Monitoring device |
CN107025927A (zh) * | 2016-01-25 | 2017-08-08 | 三星电子株式会社 | 执行锤刷新操作的存储器设备和包括其的存储器*** |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5471087A (en) * | 1991-10-02 | 1995-11-28 | Buerger, Jr.; Walter R. | Semi-monolithic memory with high-density cell configurations |
US20020050606A1 (en) * | 1991-10-02 | 2002-05-02 | Walter R. Buerger | Semi-monolithic memory with high-density cell configurations |
JP2011018417A (ja) * | 2009-07-10 | 2011-01-27 | Renesas Electronics Corp | 半導体記憶装置及び半導体記憶装置のリフレッシュ制御方法 |
KR101666987B1 (ko) * | 2010-04-20 | 2016-10-17 | 삼성전자주식회사 | 메모리 시스템 및 그것의 동작 방법 |
US20140085995A1 (en) * | 2012-09-25 | 2014-03-27 | Zvika Greenfield | Method, apparatus and system for determining a count of accesses to a row of memory |
WO2014065774A1 (en) | 2012-10-22 | 2014-05-01 | Hewlett-Packard Development Company, L.P. | Refreshing a group of memory cells in response to presence of potential disturbance |
US9384821B2 (en) * | 2012-11-30 | 2016-07-05 | Intel Corporation | Row hammer monitoring based on stored row hammer threshold value |
KR102163544B1 (ko) * | 2013-12-04 | 2020-10-08 | 에스케이하이닉스 주식회사 | 뱅크 구조를 갖는 반도체 메모리 장치 |
US9589606B2 (en) | 2014-01-15 | 2017-03-07 | Samsung Electronics Co., Ltd. | Handling maximum activation count limit and target row refresh in DDR4 SDRAM |
US9478263B2 (en) * | 2014-01-17 | 2016-10-25 | Apple Inc. | Systems and methods for monitoring and controlling repetitive accesses to volatile memory |
KR102223007B1 (ko) * | 2014-07-28 | 2021-03-04 | 삼성전자주식회사 | 반도체 메모리 장치, 이의 리프레쉬 방법 및 반도체 메모리 장치의 리프레쉬 카운터 |
US9812185B2 (en) * | 2015-10-21 | 2017-11-07 | Invensas Corporation | DRAM adjacent row disturb mitigation |
KR102399475B1 (ko) * | 2015-12-28 | 2022-05-18 | 삼성전자주식회사 | 리프레쉬 콘트롤러 및 이를 포함하는 메모리 장치 |
-
2019
- 2019-09-06 US US16/562,722 patent/US10908846B2/en active Active
- 2019-10-09 CN CN201910955125.2A patent/CN111399757B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104350546A (zh) * | 2012-06-30 | 2015-02-11 | 英特尔公司 | 行锤击刷新命令 |
CN104737234A (zh) * | 2012-11-30 | 2015-06-24 | 英特尔公司 | 基于所存储的行锤击阈值的值的行锤击监视 |
WO2016113223A1 (en) * | 2015-01-12 | 2016-07-21 | The University Of Manchester | Monitoring device |
CN107025927A (zh) * | 2016-01-25 | 2017-08-08 | 三星电子株式会社 | 执行锤刷新操作的存储器设备和包括其的存储器*** |
Also Published As
Publication number | Publication date |
---|---|
CN111399757A (zh) | 2020-07-10 |
US10908846B2 (en) | 2021-02-02 |
KR20200084599A (ko) | 2020-07-13 |
US20200218469A1 (en) | 2020-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10795613B2 (en) | Convergence memory device and operation method thereof | |
CN111399757B (zh) | 存储器***及其操作方法 | |
JP2017220242A (ja) | メモリ装置、メモリモジュール、及びメモリ装置の動作方法 | |
US20200348871A1 (en) | Memory system, operating method thereof and computing system for classifying data according to read and write counts and storing the classified data in a plurality of types of memory devices | |
US11216326B2 (en) | Memory system and operation method thereof | |
US11763876B2 (en) | Memory devices including an operation mode supporting virtual bank calculation, and operating methods of the memory devices | |
US20170147230A1 (en) | Memory device and memory system having heterogeneous memories | |
CN112214161B (zh) | 存储器***及其操作方法 | |
CN114863969A (zh) | 跳过刷新操作的存储器件及其操作方法 | |
US9099166B2 (en) | Memory module and memory system comprising same | |
US10936534B2 (en) | Converged memory device and method thereof | |
US12020764B2 (en) | Memory device for selectively operating multiple memory groups in different speeds and memory system including the same | |
KR102687575B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작방법 | |
CN115543861A (zh) | 管理地址映射的方法和近存储器处理双列直插式存储器模块 | |
US11544168B2 (en) | Memory system | |
US10691625B2 (en) | Converged memory device and operation method thereof | |
US20170185513A1 (en) | Memory system | |
CN111209227A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |