CN107210063B - 对具有存储体分组架构的存储器设备内的存储体进行预充电和刷新 - Google Patents

对具有存储体分组架构的存储器设备内的存储体进行预充电和刷新 Download PDF

Info

Publication number
CN107210063B
CN107210063B CN201680007711.9A CN201680007711A CN107210063B CN 107210063 B CN107210063 B CN 107210063B CN 201680007711 A CN201680007711 A CN 201680007711A CN 107210063 B CN107210063 B CN 107210063B
Authority
CN
China
Prior art keywords
bank
command
memory
refresh
banks
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
Application number
CN201680007711.9A
Other languages
English (en)
Other versions
CN107210063A (zh
Inventor
K·S·贝恩斯
J·B·哈尔伯特
N·博能
T·利维
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to CN202110384599.3A priority Critical patent/CN113113063B/zh
Priority to CN202011307668.2A priority patent/CN112382322A/zh
Publication of CN107210063A publication Critical patent/CN107210063A/zh
Application granted granted Critical
Publication of CN107210063B publication Critical patent/CN107210063B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40603Arbitration, priority and concurrent access to memory cells for read/write or refresh operations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40611External triggering or timing of internal or partially internal refresh operations, e.g. auto-refresh or CAS-before-RAS triggered refresh
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40618Refresh operations over multiple banks or interleaving
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • G11C11/4087Address decoders, e.g. bit - or word line decoders; Multiple line decoders

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)

Abstract

存储器子系统刷新管理利用单个命令使得命令能够跨不同的存储体分组存取一个或多个所识别的存储体。代替由每个存储体分组单独地发送识别在分离的存储体分组中的存储体或多个存储体的命令,命令能够使得存储器设备存取在不同的存储体分组中的存储体。命令能够是刷新命令。命令能够是预充电命令。

Description

对具有存储体分组架构的存储器设备内的存储体进行预充电 和刷新
相关申请
本申请是基于2015年2月28日提交的美国临时申请No.62/126,597的非临时申请。本申请要求临时申请的优先权的权益,并且临时申请由此通过引用并入本文。
技术领域
本发明的实施例总体上涉及存储器子系统,以及更具体地涉及在具有存储体分组(bank group)架构的存储器设备中执行刷新。
版权声明/许可
本专利文献的公开内容的部分可能包含受版权保护的材料。版权所有者不反对由任何人来再现本专利文献或专利公开内容,如专利和商标局专利文件或记录中所示,但是以其它方式保留所有版权。本版权声明应用于如下面以及附图中所描述的所有数据,以及应用于下面所描述的任何软件:
Figure BDA0001363342910000011
2015,Intel Corporation,保留所有权利。
背景技术
某些存储器设备具有存储体分组架构。传统的存储体架构不能随着存储器子系统的大小和速度增加而良好地缩放。用于产生较新的存储器的技术中的改进趋于使存储器中可用的特征更小,这能够降低操作电压并改进速度。然而,随着处理技术改进,存储器的大小和复杂度增加,并且因此核心周期时间(tCCD)没有随着数据I/O(输入/输出)带宽缩放。tCCD指示列到列的命令或命令到命令的延迟,指示对相同存储体的连续两次(back-to-back)存取。列命令能够指示用于存取存储器的列地址选通命令(CAS)。
由于I/O速度增加,核心传统地需要增加其速度来利用完整数据I/O带宽。因此,使I/O速度加倍需要使核心周期时间加倍。然而,增加核心周期时间以减少tCCD是非常功率集中且管芯大小集中的。利用存储体分组架构,能够将存储器资源分割为存储体的分组。使用存储体分组能够改进存储器的明显的循环时间,这是因为能够独立地处理对不同存储体分组的存取。因此,代替需要快速循环两次以充分利用I/O带宽,存储器能够按顺序存取不同的存储体分组。存储器子系统能够允许在不同的存储体分组之间进行存取的较短循环,以及在相同存储体分组内的存储体之间进行存取的较长循环。
虽然使用存储体分组提供了对数据带宽利用率的改进,但是这会显著地增加命令带宽。存储体分组的使用典型地增加系统中的存储体的数量。在更多存储体的情况下,存储器控制器需要增加用于维护存储器的命令的数量。特别地,在易失性存储器设备中,刷新命令通过存取不同的存储体分组中的存储体而消耗存储器的显著大量的操作带宽。增加存储体的数量典型地增加存储器控制器需要发布的刷新命令的数量。
附图说明
以下描述包括对具有通过本发明的实施例的实现方式的示例方式给出的示例说明的附图的讨论。应当通过示例的方式而非通过限制的方式来理解附图。如本文所使用的,对一个或多个“实施例”的引用将被理解为描述包括在本发明的至少一个实现方式中的特定特征、结构、和/或特性。因此,本文出现的诸如“在一个实施例中”或“在替代实施例中”的短语描述了本发明的各种实施例和实现方式,而不一定全部指代相同的实施例。然而,它们也不一定相互排斥。
图1是实现跨存储体分组的存储体刷新的系统的实施例的框图。
图2是用于每个存储体刷新和所有存储体刷新命令以及每个存储体预充电和所有存储体预充电命令的命令表的实施例的表示。
图3是实现跨存储体分组的存储体刷新的系统的系统性能的实施例的图解表示。
图4是用于执行刷新的过程的实施例的流程图。
图5是其中能够实现跨存储体分组对指定存储体进行刷新的计算系统的实施例的框图。
图6是其中能够实现跨存储体分组对指定存储体进行刷新的移动设备的实施例的框图。
特定细节和实现方式的描述如下,包括对可以描绘下面描述的实施例中的一些或全部的附图的描述,以及讨论本文呈现的发明构思的其它潜在实施例或实现方式。
具体实施方式
如本文所描述的,存储器子系统刷新管理使得能够利用单个刷新命令来跨不同的存储体分组刷新一个或多个所识别的存储体。就实现利用单个预充电命令跨不同的存储体分组对一个或多个所识别的存储体进行预充电而言,能够存在类似的能力。代替由每个存储体分组单独地发送识别分离的存储体分组中的存储体或多个存储体的预充电命令和/或刷新命令,存储器控制器能够生成使得存储器设备并发地对不同的存储体分组中的存储体进行预充电和/或刷新的命令。
对存储器设备的引用能够应用于不同的存储器类型,并且特别是具有存储体分组架构的任何存储器。存储器设备一般是指易失性存储器技术。易失性存储器是这样的存储器:如果到设备的电力被中断,则该存储器的状态(以及因此存储在其上的数据)是不确定的。非易失性存储器是指这样的存储器:即使到设备的电力被中断,该存储器的状态仍是确定的。动态易失性存储器需要刷新存储在设备中的数据来维护状态。动态易失性存储器的一个示例包括DRAM(动态随机存取存储器)、或一些变型(例如,同步DRAM(SDRAM))。如本文所描述的存储器子系统可以与多种存储器技术兼容,例如,DDR4(DDR版本4、由JEDEC于2012年9月发布的初始规范)、DDR4E(由JEDEC开发中)、LPDDR4(低功率双重数据速率(LPDDR)版本4,JESD209-4,由JEDEC于2014年8月初始发布)、WIO2(宽I/O 2(WideIO2),JESD229-2,由JEDEC于2014年8月初始发布)、HBM(高带宽存储器DRAM,JESD235,由JEDEC于2013年10月初始发布)、DDR5(DDR版本5,目前由JEDEC讨论中)、LPDDR5(目前由JEDEC讨论中)、HBM2(HBM版本2,目前由JEDEC讨论中)、和/或其它的,以及基于这些规范的衍生或扩展的技术。
在一个实施例中,除了易失性存储器之外或替代易失性存储器,对于具有存储体分组架构的设备而言,对存储器设备的引用可以指示即使到设备的电力被中断其状态仍确定的非易失性存储器。在一个实施例中,非易失性存储器设备是块可寻址存储器设备,例如,NAND或NOR技术。因此,存储器设备还能够包括另一代非易失性设备,例如,三维交叉点存储器设备、或其它字节可寻址非易失性存储器设备。在一个实施例中,存储器设备能够是或者包括多阈值级别NAND闪速存储器、NOR闪速存储器、单级或多级相变存储器(PCM)、电阻存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、包含忆阻器技术的磁阻随机存取存储器(MRAM)存储器、或自旋传递转矩(STT)-MRAM、或上面中的任何存储器的组合、或其它存储器。
更具体地,本文描述的主题应用于支持存储体分组的使用和/或与存储体分组的使用兼容的存储器技术。定址到特定存储体的某些存取命令能够跨所有存储体分组在所识别的存储体地址中执行。
图1是实现跨存储体分组的存储体刷新的系统的实施例的框图。系统100是存储器子系统的一个示例,其具有存储器控制器110和存储器设备120。存储器设备120能够是或者包括:例如,DRAM芯片或管芯。在一个实施例中,存储器设备120是SDRAM芯片或管芯,或者包括SDRAM芯片或管芯。在一个实施例中,存储器120是系统中的独立存储器设备。在一个实施例中,存储器120表示直接连接到存储器控制器和/或主机处理器的一个或多个存储器设备。在一个实施例中,存储器120表示并联地耦合到共享一个或多个总线(例如,命令和地址总线以及数据总线的至少一部分)的控制器和/或主机处理器的多个存储器设备。在一个实施例中,存储器120是作为存储器模块(例如,双列直插式存储器模块(DIMM))的一部分的多个存储器设备中的一个。
存储器控制器110包括用于管理向存储器120发送命令的命令逻辑112。命令逻辑112表示确定要发布什么命令、确定何时发布命令、以及生成要发送到存储器设备的命令的逻辑。在一个实施例中,命令逻辑112是存储器控制器110的其它逻辑或控制逻辑的一部分。存储器控制器110包括用于连接到存储器120的I/O(输入/输出)硬件114。I/O硬件114能够包括引脚、连接器、迹线、电线、信号线、和/或其它硬件资源,以用于在存储器控制器110与存储器120之间交换信号。I/O硬件114能够包括驱动器、收发器、ODT(片上终端电阻)、和/或用于发送和/或接收信号其它逻辑。
在一个实施例中,命令逻辑112包括用于对易失性存储器120的刷新进行管理的刷新命令逻辑142。刷新逻辑142表示确定何时发布刷新命令、以及生成要发送到存储器设备的命令的逻辑。在一个实施例中,命令逻辑112包括预充电命令逻辑144,其用于对存储器设备120的存储器阵列或存储器资源130中的部分的预充电进行管理。在一个实施例中,存储器控制器110结合一个或多个刷新命令来生成一个或多个预充电命令。预充电逻辑144能够使得存储器120将存储器资源置于重置状态。
存储器120包括被组织为多个存储体分组132的存储器资源130。因此,存储器120具有存储体分组架构。例如,存储器120能够包括2个、4个、或8个存储体分组132。每个存储体分组包括多个存储体134,例如,4个或8个存储体。例如,存储器120能够是具有4个存储体分组、每个存储体分组具有8个存储体的x4或x8设备(参考数据总线接口宽度),或者是具有8个存储体分组、每个存储体分组具有4个存储体的x4或x8设备,或者是具有4个存储体分组、每个存储体分组具有4个存储体的x16设备。这些示例是出于说明而非限制的目的。每个存储体包括对数据进行存储的可寻址存储器位置(例如,字线或高速缓存线或页面)。在一个具体示例中,存储器120是具有存储体分组架构的DDR4或DDR4E存储器。如上面提及的,由于核心周期时间(tCCD),传统的存储体架构并没有缩放。然而,某些DDR4架构能够具有2个或4个存储体分组,每个存储体分组具有高达八个存储体。DDR4能够允许用于存取不同的存储体分组的短核心周期延迟时间tCCD_S(其为4个周期),以及用于存取在相同存储体分组内的存储体的长核心周期延迟时间tCCD_L(其大于4个周期)。能够将tCCD_S设置为等于突发长度(burst length)的一半(BL/2),以允许以全带宽流送数据以供读取和写入。因此,突发长度为8对应于tCCD_S为4个周期。
存储器120包括用于接收来自存储器控制器110的命令并对其进行解码的存取逻辑122。在一个实施例中,存取逻辑122是存储器设备上的对存储器的操作进行管理的控制器或控制逻辑的一部分。这样的控制器指示存储器上控制器,其控制操作的内部定时和排序以执行从存储器控制器110接收到的命令。内部控制器生成内部操作以执行接收到的命令。存储器120包括用于与存储器控制器110接口的I/O 124。I/O 124能够与存储器控制器的I/O 114类似或相同,并且能够同样地表示在两个设备之间交换信号的任何类型的硬件。
在一个实施例中,存取逻辑122包括解码逻辑150。解码逻辑150使得存储器120能够对从存储器控制器110接收的命令进行解码,以确定要对存储器的哪些存储器资源130进行何种类型的存取。解码逻辑150使得存储器120能够将命令信号路由到在命令中识别出的存储器资源130。在一个实施例中,存取逻辑122包括存储器120内部的刷新逻辑152。在一个实施例中,存取逻辑122包括存储器120内部的预充电逻辑154。
在一个实施例中,存储器控制器110能够发布刷新命令(REF)和每个存储体刷新命令(REFpb)。REF命令经由刷新逻辑152触发存储器120对存储在与REF命令中的地址信息相关联的存储器位置中的值进行刷新。REFpb命令操作类似于REF命令,但是具体地进行刷新存储体的操作。因此,在具有存储体分组架构的存储器120中,可以使得存储器控制器能够通过对存储体进行交织来控制存取。存储器120能够被配置为实现跨存储体而被交织的命令。跨存储体进行存取的定时能够比存取相同存储体的定时快,允许存储器控制器更精确地控制已发布命令的存取定时。
利用每个存储体刷新命令(REFpb),存储器控制器110能够对特定存储体处的刷新进行指导。例如,在针对DDR4E设备的刷新管理中,使用地址位A12在刷新命令(REF)与刷新每个存储体命令(REFpb)之间做出区分。具有位A12=1的刷新命令指示对所有存储体进行刷新,而具有A12=0指示对指定的(多个)存储体进行刷新。因此,存储器控制器110可以生成并发送用于刷新所有存储体(REF)和/或特定存储体(REFpb)的刷新命令。例如,在刷新命令中,存储体地址位BA2、BA1、BA0上的值指定要对哪个存储体进行刷新。在一个实施例中,由存储体地址位BA2、BA1、BA0标识的存储体是所有存储体分组中的当REFpb命令被发布时要进行刷新的存储体。因此,在一个实施例中,刷新每个存储体命令识别待被刷新的存储体,并且存储器设备120将跨所有存储体分组132刷新所识别的存储体(例如,对于BA[2:0]=000,BankGroup0、BankGroup1等中的存储体'000'将被刷新)。
在一个实施例中,存储器控制器110能够发布预充电命令,其被类似地定义为对所有存储体分组中的相同存储体进行预充电。例如,系统能够定义多达三种不同类型的预充电命令。在一个实施例中,具有位A10=0或L(低)以及A12=1或H(高)的预充电命令(PRE)能够意味着对如由BG1、BG0以及BA2、BA1、BA0指定的存储体分组和存储体所指示的单个存储体进行预充电。在一个实施例中,具有A10=0和A12=0的预充电命令(PREpb)能够意味着对每个存储体进行预充电,对所有存储体分组中的与由BA2、BA1、以及BA0指定的存储体相同的存储体进行预充电。在一个实施例中,具有A10=1的预充电命令(PREA)能够意味着对所有存储体进行预充电。经由预充电逻辑154,存储器120能够实现从存储器控制器110接收的预充电命令。因此,PREA命令能够将所有存储体设置为空闲状态,PRE能够将特定存储体分组中的特定存储体设置为空闲状态,以及PREpb命令能够跨所有存储体分组将所指定的存储体设置为空闲状态。在一个实施例中,由地址位BA[2:0]标识的存储体是所有存储体分组中的当PREpb被发布时要进行预充电的存储体。在一个实施例中,存储器控制器110利用刷新命令发布对应的预充电命令(例如,利用REF发布PREA,以及利用REFpb发布PREpb)。
传统地,每个REFpb命令使内部存储体计数器递增。存储器控制器能够将内部存储体计数器与表示存储体分组132中的可用存储体的数量的阈值进行比较。在一个实施例中,在检测到内部存储体计数器等于存储体分组132中的可用存储体的数量时,存储器控制器110能够重置计数器以在下一REFpb命令或后续REFpb命令上重新开始。每次内部存储体计数器重置并在下一REFpb命令上重新开始时,存储器控制器110还递增全局刷新计数器。
在一个实施例中,存储器控制器110能够以任何存储体次序向任何存储体134发布REFpb命令,只要在向任何存储体发布后续的REFpb命令之前每个存储体134都具有发布给其的一个REFpb命令。在一个实施例中,存储器控制器110利用每个REFpb命令发布对应的PRE命令,并且因此能够以相同的存储体次序来发送预充电命令和刷新命令。存储体次序是指刷新的序列。循环(round robin)次序可以以存储体地址的次序进行刷新,例如,从最高到最低或者从最低到最高。存储器控制器能够对刷新和或预充电进行交织以相对于存储体地址不按次序地存取存储体。存储器控制器110能够管理存储体次序,并且因此防止在每个存储体接收REFpb命令之前发布被发布给相同的存储体的后续REFpb命令。存储器控制器能够类似地管理PRE命令。
在一个实施例中,在向存储体分组中的所有存储体发布REFpb之前多次向相同的存储体发布REFpb命令是不被准许的。在一个实施例中,所发布的第一REFpb命令是“同步”REFpb命令,并且当以下项中的任何项发生时,“同步”计数将内部存储体计数器重置为零:(a)每个存储体已经接收一个REFpb命令;(b)存储器控制器应用RESET;(c)存储器设备进入或退出自刷新模式;或者(d)存储器控制器发布对所有存储体进行刷新的REF命令(即,通用刷新命令,而不是REFpb命令)。
在一个实施例中,存储器控制器110包括计数器逻辑116。计数器逻辑116能够表示存储器控制器110内部的一个或多个计数器。计数器能够用于管理命令(例如,刷新命令)的发布。存储器控制器110能够使用一个或多个计数器116来管理对存储器120中的行的刷新。利用每次刷新,存储器控制器110能够使计数器116递增以对哪些行已被刷新进行跟踪。在一个实施例中,计数器116能够包括存储体计数器和全局计数器。
在一个实施例中,存储器120包括计数器126,其表示存储器设备内的一个或多个计数器。在一个实施例中,存储器120使用计数器126对行刷新保持跟踪。在一个实施例中,计数器116能够包括存储体计数器和全局计数器。在一个实施例中,系统100包括或者计数器116或者计数器126,而不是二者都包括。响应于从存储器控制器110接收的刷新命令,存储器120能够利用内部控制逻辑(内部控制器)来管理计数器126。
在一个实施例中,计数器126表示存储器120内的全局刷新计数器。在一个实施例中,当或者存储器控制器发布对所有存储体进行刷新的REF命令时,或者所有存储体已经接收到REFpb命令并且“同步”计数被重置为零时,能够使全局刷新计数器126递增。在存储体计数器不为零时所发布的REF命令将使存储器设备的全局刷新计数器递增。在一个实施例中,在满足以下条件之前,不能向存储器设备发布REFpb命令:
-在先前的REF命令之后,tRFC(刷新周期时间)已经被满足;
-在先前的REFpb命令之后,tRFCpb(每个存储体刷新周期时间)已经被满足;
-在到所识别的存储体的先前的PRECHARGE命令之后,tRP(预充电周期时间)已经被满足;以及
-在先前的ACTIVATE命令之后,tRRD_L已经被满足(例如,必须根据ACTIVATE满足tRRD_L,因为REFpb将以在所有存储体分组中的存储体为目标)。
可以理解,在每个存储体刷新周期时间(tRFCpb)期间,目标存储体或在命令中识别出的存储体是不可存取的。因此,REFpb命令将防止在存储体执行刷新操作时对tRFCpb的所识别的存储体进行存取。然而,在一个实施例中,存储器120内的其它存储体是可存取的,并且在刷新周期(目标存储体的tRFCpb)期间能够被寻址。当每个存储体刷新周期完成时,受影响的存储体将处于空闲状态。
在一个实施例中,在发布REFpb命令之后,必须满足以下条件:
-在发布REF命令之前,tRFCpb必须被满足;
-在向相同的存储体发布ACTIVATE(ACT)命令之前,tRFCpb必须被满足;以及
-在向不同的存储体发布ACT命令或REFpb命令之前,tRRD_L必须被满足。
当存储器120跨所有存储体分组132中的存储体134应用刷新时,可以理解,存储器控制器110能够调度和发布更少的刷新命令。例如,在具有8个存储体的系统中,可以利用8个REFpb命令替换单个REF命令。利用多个REFpb命令替换单个REF命令能够提供对调度的增加的控制,选择性推迟以及选择性地增加刷新命令活动二者。在一个实施例中,能够在突发中发布REFpb命令。REFpb的突发能够设置有利用8*{tRFCpb+(n-1)*tRRD_L}确定的限制,其中n等于存储体分组中存储体的数量,tRFCpb是每个存储体刷新周期时间,而tRRD_L是一个长行到行延迟或到相同存储体分组的激活命令之间的延迟时间。
因此,在存储体分组架构中,每个存储器设备包括多个存储体。在存储体分组架构中,存储器控制器能够利用存储体分组标识符和存储体标识符对特定存储体进行寻址,其中存储体分组标识符指定存储体分组,以及存储体地址指定存储体分组内的存储体。每个存储体分组有多个存储体被类似地定址。例如,BG0能够具有存储体B0-B3,并且BG1能够具有存储体B0-B3,其是能够通过存储体分组和存储体地址信息的组合被分离地寻址的。存储器设备和存储器控制器能够经由I/O硬件耦合。在一个实施例中,存储器控制器被配置为确定发送用于在存储器的一部分上执行的命令,并且具体地,针对所识别的存储体。存储器控制器发送或发布命令,存储器设备接收该命令并对其进行解码。该命令能够是例如预充电命令或刷新命令,并且识别存储体。取决于实现方式,识别存储体分组能够是可选的或未定义的。响应于该命令,存储器设备能够被配置为针对具有存储体标识符的所有存储体(包括在不同的存储体分组中的存储体)执行命令。
图2是用于每个存储体刷新和所有存储体刷新命令以及每个存储体预充电和所有存储体预充电命令的命令表的实施例的表示。命令表210提供了在DDR4E或DDR5系统中使用的命令的实施例的一个示例。存储器控制器生成所列出的命令以生成期望的操作。存储器控制器将命令发送到一个或多个连接的存储器设备(或者直接连接或者在存储器模块中连接)以触发(多个)存储器设备执行命令。
可以理解,表210仅示出了刷新命令和预充电命令,但是典型地所有存储器存取命令都以类似的方式定义,示为L为逻辑低输出(例如,“0”)、H为逻辑高输出(例如,“1”)、以及V为不关心。表210还示出了分别指代存储体分组地址和存储体地址的值“BG”和“BA”。可以理解,取决于在特定存储器系统实现方式中支持多少存储体和存储体分组,用于指定地址的位数能够不同。如所示出的,根据表210的系统实现命令支持多达八个存储体分组,以及每个存储体分组多达四个存储体。在另一实现方式中,对于包括具有4个存储体分组和8个存储体的设备的系统而言,表210能够具有BG0-BG1和BA0-BA2。其它配置是可能的。
命令212示出了刷新所有存储体命令,其中位A12设置为高。因为所有存储体都被刷新,所以存储体分组位和存储体地址位是“不关心”。响应于这样的命令,存储器设备将刷新所有存储体。命令214示出了刷新每个存储体,其中位A12设置为低。响应于这样的命令,存储器设备将刷新在所指示的存储体分组(BG)和存储体地址(BA)处的存储体。在一个实施例中,存储体分组地址是“不关心”,并且存储器设备将刷新所有存储体分组中的由BA[1:0]标识的存储体。
命令220示出了预充电所有(PREA)命令,其中位A10设置为高。因为所有存储体都被预充电,所以存储体分组位和存储体地址位是“不关心”。响应于这样的命令,存储器设备将对所有存储体进行预充电。命令216示出了预充电每个存储体(PREpb)命令,其中位A10设置为低且位A12设置为低。响应于这样的命令,存储器设备将跨所有存储体对在所指示的存储体地址(BA)处的存储体进行预充电。在一个实施例中,存储体分组地址是不关心,并且存储器设备将对所有存储体分组中的由BA[1:0]标识的存储体进行预充电。命令218示出了预充电单个存储体(PRE)命令,其中位A10设置为低且位A12设置为高。响应于这样的命令,存储器设备将对以BG[2:0]和BA[1:0]标识的特定存储体进行预充电。
每个存储体命令的实现方式能够基于不同的系统定义而不同。在一个实施例中,存储器控制器提供具有这样的存储体标识符的命令:该存储体标识符设置特定位(例如,未使用的位或“不关心”位中的一个)指示每个存储体刷新命令要应用于所有存储体分组中的所识别的存储体。例如,考虑位A10可以用于标识每个存储体刷新是要应用于所有存储体分组还是仅应用于指定的存储体分组。作为另一示例,考虑位A12可以用于标识每个存储体预充电是要应用于所有存储体分组还是仅应用于指定的存储体分组。其它实现方式是可能的。在一个实施例中,存储器设备被配置为应用REFpb和/或跨所有存储体分组应用PREpb。例如,考虑位A10和A12可以应用于对指定的存储体进行刷新和/或预充电,或者跨所有存储体分组进行刷新和/或预充电。因此,存储器控制器能够被配置为不驱动存储体分组标识符,高效地发送不具有存储体分组标识符的命令。在一个实施例中,除了能够标识特定的存储体分组之外,存储体分组标识符位能够定义有预先定义的码,以用于允许经由存储体分组位表示所有存储体分组。替代地,其它未使用的位中的一个能够用作所有存储体分组标识符。
如果命令以相同的存储体分组为目标,则存储体分组架构需要较大的tCCD(CAS到CAS延迟时间)或序列CAS(列地址选通)命令(或从CAS到CAS)的时间,无论是读取还是写入。在一个实施例中,跨存储体分组的tCCD能够被设置为等于突发长度(BL),因此序列数据能够跨存储体分组无缝地流送。在一个实施例中,存储器控制器跨存储体分组映射序列地址。因此,当使存取命令到序列地址时,存取跨存储体分组发生,并且允许使用低于tCCD_L的tCCD_S,tCCD_L是存取相同存储体分组中的存储体之间的较长延迟。
从存储器控制器的观点,跨存储体分组进行存取占用不同的存储体资源。因此,从存储器控制器的观点,跨存储体分组刷新相同的存储体实质上会在时间tRFCpb内占用单个资源。跨不同存储体分组的这种刷新能够减少具有多个DIMM(双列直插存储器模块)和存储区块(rank)的服务器上的命令带宽问题。通过发布存储器设备跨不同的存储体分组在存储体上执行的、来自存储器控制器的刷新命令,在某些条件下存储器控制器能够发布更少的刷新命令。例如,在一个实施例中,存储器控制器能够在其相反应该已经发布32个刷新命令的情况下发布8个刷新命令,这是指发布跨4个存储体分组被应用的8个每个存储体刷新,而不是分离地发布在每个存储体分组中对8个存储体每个进行刷新的32个每个存储体刷新。
图3是在实现跨存储体分组的存储体刷新的系统的系统性能的实施例的图解表示。图300示出了通过对响应于每个存储体刷新命令跨所有存储体分组刷新相同的存储体的操作进行测试而展现出的性能改进。在图300中,相对性能示出了关于基线的性能差异的百分比。图300的横轴上的标签指示测试或性能在其上被测量的应用。可以理解,图300中所示的每个存储体刷新性能包括使用命令来预充电然后跨存储体分组刷新相同的存储体编号。
在图300的示例中,基线是1x存储区块刷新。1x是指针对使用260ns的tRFC的4Gb设备的7.8us tREF刷新速率。存储区块刷新是指在存储区块级别上执行刷新。进入到负百分比的条(bar)被标记为存储区块2x,并且表示性能损失具有3.9us的2x刷新速率。因此,基线下方的条假设标准的存储区块刷新,但刷新速率为双倍。每个测试有两个延伸到正百分比中的条。两个条表示由于每个存储体刷新的性能增益,其中刷新是跨存储体分组执行的。左边的条表示每个存储体刷新具有7.8us tREFI。右边的条使用每个存储体刷新具有3.9ustREFI来表示性能增益。图300示出了由于使刷新速率加倍而造成的存储区块刷新性能的损失,并且即使刷新率加倍,性能的损失也比利用每个存储体刷新所补偿的多。
图4是用于执行刷新的过程的实施例的流程图。在一个实施例中,存储器控制器确定对相关联的存储器设备中的一个或多个存储体进行刷新,410。在一个实施例中,多个存储器设备(例如,DRAM或SDRAM)耦合到相同的存储器控制器,并且每个存储器设备能够并行地在对于存储器设备而言单独的存储体分组和存储体资源中实现相同的命令。在一个实施例中,存储器控制器配置有指示存储器具有存储体分组架构的信息。在这种实现方式中,在一个实施例中,存储器控制器能够确定发送用于仅在存储器设备的所识别的部分上执行的命令。例如,存储器控制器能够确定仅存取存储器的特定存储体,而不是存取所有存储体。这种操作能够由根据本文所述的任何实施例的所有存储体命令和每个存储体命令机制支持。
在一个实施例中,存储器控制器生成识别待预充电的存储体或多个存储体的预充电命令,412。在一个实施例中,预充电命令跨存储器中的所有存储体分组应用于所识别的(多个)存储体。存储器控制器能够将预充电命令发送到存储器,414。在一个实施例中,存储器接收预充电命令并对其进行解码,416。在一个实施例中,存储器响应于预充电命令而跨所有存储体分组对所识别的(多个)存储体进行预充电,418。能够根据本文描述的任何实施例来发送命令,这能够识别应用于所有存储体分组而不是单个存储体分组的预充电命令。
在一个实施例中,存储器控制器生成识别待刷新的(多个)存储体的刷新命令,420。类似于上面关于预充电命令所陈述的,能够根据本文描述的任何实施例来生成并发送命令。因此,存储器控制器能够采用一种机制来指示命令是要跨所有存储体分组被应用还是跨单个存储体分组被应用。替代地,存储器设备能够被配置为对应用于所有存储体分组中的而非特定存储体分组中的所识别的存储体的所有每个存储体命令进行响应。存储器控制器能够将刷新命令发送到存储器,422。在一个实施例中,存储器接收刷新命令并对其进行解码,424。存储器能够响应于刷新命令而跨所有存储体分组对所识别的(多个)存储体进行刷新,426。
在一个实施例中,存储器控制器针对所有存储体分组递增用于所识别的存储体的存储体计数器,428。在一个实施例中,存储器控制器针对不同的存储体分组保留不同的存储体计数器,并且能够在发布跨存储体分组应用的刷新命令时更新所有存储体计数器。在一个实施例中,其中存储器子系统跨存储体分组应用对相同的存储体的刷新,存储器控制器仅保留单个每个存储体刷新计数器,并且结合发布跨存储体分组应用的每个存储体刷新对其进行更新。可以理解,跨所有存储体分组应用覆盖相同的存储体编号的刷新命令能够提供良好的性能,因为存取跨存储体分组交织到相同的对应存储体。
图5是其中能够实现跨存储体分组对指定存储体进行刷新的计算系统的实施例的框图。系统500表示根据本文所述的任何实施例的计算设备,并且能够是膝上型计算机、台式计算机、服务器、游戏或娱乐控制系统、扫描仪、复印机、打印机、路由或交换设备、或其它电子设备。系统500包括处理器520,其提供系统500的处理、操作管理、以及指令执行。处理器520能够包括任何类型的微处理器、中央处理单元(CPU)、处理核心、或用于提供系统500的处理的其它处理硬件。处理器520控制系统500的总体操作,并且能够是或者包括一个或多个可编程通用或专用微处理器、数字信号处理器(DSP)、可编程控制器、专用集成电路(ASIC)、可编程逻辑器件(PLD)等,或者这些设备的组合。
存储器子系统530表示系统500的主存储器,并且提供针对要由处理器520执行的代码或要在执行例程中使用的数据值的临时存储。存储器子系统530能够包括一个或多个存储器设备,例如,只读存储器(ROM)、闪速存储器、一种或多种随机存取存储器(RAM)、或其它存储器设备、或者这些设备的组合。存储器子系统530存储并托管(以及其它)操作系统(OS)536,以提供用于在系统500中执行指令的软件平台。另外,来自存储器子系统530的其它指令538被存储并执行,以提供系统500的逻辑和处理。OS 536和指令538由处理器520执行。存储器子系统530包括其存储数据、指令、程序、或其它项的存储器设备532。在一个实施例中,存储器子系统包括存储器控制器534,其是用于生成命令并将命令发布到存储器设备532的存储器控制器。可以理解,存储器控制器534可以是处理器520的物理部分。
处理器520和存储器子系统530耦合到总线/总线系统510。总线510是表示通过适当的桥、适配器、和/或控制器进行连接的任何一个或多个分离的物理总线、通信线路/接口、和/或点到点连接的抽象。因此,总线510能够包括例如以下中的一个或多个:系统总线、外围部件互连(PCI)总线、超传输或工业标准架构(ISA)总线、小型计算机系统接口(SCSI)总线、通用串行总线(USB)、或电气和电子工程师协会(IEEE)标准1394总线(常见地称为“火线(Firewire)”)。总线510的总线还能够对应于网络接口550中的接口。
系统500还包括耦合到总线510的一个或多个输入/输出(I/O)接口540、网络接口550、一个或多个内部大容量存储设备560、以及外围接口570。I/O接口540能够包括用户通过其与系统500交互的一个或多个接口组件(例如,视频、音频、和/或字母数字接口)。网络接口550为系统500提供通过一个或多个网络与远程设备(例如,服务器、其它计算设备)进行通信的能力。网络接口550能够包括以太网适配器、无线互连部件、USB(通用串行总线)、或者其它基于有线或无线标准的接口或专属接口。
存储设备560能够是或者包括用于以非易失性方式存储大量数据的任何常规介质,例如,一个或多个基于磁性、固态、或光学的盘,或其组合。存储设备560以持续状态保存代码或指令以及数据562(即,虽然到系统500的电力被中断,但值被保留)。存储设备560能够被通用地视为“存储器”,尽管存储器530是用于向处理器520提供指令的执行或操作存储器。虽然存储设备560是非易失性的,但是存储器530能够包括易失性存储器(即,如果到系统500的电力中断,则数据的值或状态是不确定的)。
外围接口570能够包括上面没有具体提及的任何硬件接口。外围设备一般是指依赖性地连接到系统500的设备。依赖连接是一种这样的连接:其中系统500提供在其上执行操作或用户与其进行交互的软件和/或硬件平台。
在一个实施例中,存储器子系统530包括命令逻辑580,其能够表示存储器532的逻辑和/或存储器控制器534的逻辑。命令逻辑580允许存储器子系统跨存储体分组将每个存储体命令应用于相同的所识别的存储体。例如,每个存储体命令能够包括每个存储体预充电命令和/或每个存储体刷新命令。在一个实施例中,每个存储体刷新命令能够识别存储体编号,并且能够通过存储器设备跨所有存储体分组对相同的存储体进行刷新。类似地,在一个实施例中,每个存储体预充电命令能够识别存储体编号,并且能够通过存储器设备跨所有存储体分组对相同的存储体进行预充电。
图6是其中能够实现跨存储体分组对指定存储体进行刷新的移动设备的实施例的框图。设备600表示移动计算设备,例如,计算平板、移动电话或智能电话、无线使能的电子阅读器、可穿戴计算设备、或其它移动设备。可以理解,一般性地示出了这种设备的组件中的某些组件,而并非所有组件都在设备600中示出。
设备600包括执行设备600的主要处理操作的处理器610。处理器610能够包括一个或多个物理设备,例如,微处理器、应用处理器、微控制器、可编程逻辑器件、或其它处理模块。由处理器610执行的处理操作包括操作平台或操作系统的执行,应用和/或设备功能在该操作平台或操作系统上执行。处理操作包括与人类用户的I/O(输入/输出)或与其它设备有关的操作、与功率管理有关的操作、和/或与将设备600连接到另一设备有关的操作。处理操作还能够包括与音频I/O和/或显示I/O有关的操作。
在一个实施例中,设备600包括音频子系统620,其表示与向计算设备提供音频功能相关联的硬件(例如,音频硬件和音频电路)和软件(例如,驱动器、编解码器)组件。音频功能能够包括扬声器和/或耳机输出,以及麦克风输入。用于这种功能的设备能够集成到设备600中,或者连接到设备600。在一个实施例中,用户通过提供由处理器610接收和处理的音频命令来与设备600进行交互。
显示子系统630表示提供视觉和/或触觉显示以供用户与计算设备进行交互的硬件(例如,显示器设备)和软件(例如,驱动器)组件。显示子系统630包括显示接口632,其包括用于向用户提供显示的特定屏幕或硬件设备。在一个实施例中,显示接口632包括与处理器610分离的逻辑,以用于执行与显示有关的至少一些处理。在一个实施例中,显示子系统630包括向用户提供输出和输入二者的触摸屏设备。在一个实施例中,显示子系统630包括向用户提供输出的高清晰度(HD)显示器。高清晰度能够指示显示器具有接近100PPI(像素每英寸)或更大的像素密度,并且能够包括诸如全HD(例如,1080p)、视网膜显示器、4K(超高清晰度或UHD)或其它的格式。
I/O控制器640表示有关于与用户的交互的硬件设备和软件组件。I/O控制器640能够操作以管理作为音频子系统620和/或显示子系统630的一部分的硬件。另外,I/O控制器640示出了附加设备连接到设备600的连接点,用户可以通过该连接点与系统进行交互。例如,能够附接到设备600的设备可以包括麦克风设备、扬声器或立体声系统、视频系统或其它显示设备、键盘或键板设备、或与特定应用一起使用的其它I/O设备,例如,读卡器或其它设备。
如上面提及的,I/O控制器640能够与音频子系统620和/或显示子系统630进行交互。例如,通过麦克风或其它音频设备的输入能够提供用于设备600的一个或多个应用或功能的输入或命令。另外,代替显示输出或者除了显示输出,能够提供音频输出。在另一示例中,如果显示子系统包括触摸屏,则显示设备还用作输入设备,其能够由I/O控制器640至少部分地管理。在设备600上还能够存在附加的按钮或开关,以提供由I/O控制器640管理的I/O功能。
在一个实施例中,I/O控制器640管理诸如加速度计、照相机、光传感器或其它环境传感器、陀螺仪、全球定位系统(GPS)、或能够包括在设备600中的其它硬件的设备。输入能够是直接用户交互的一部分,以及向系统提供环境输入以影响其操作(例如,滤波噪声、针对亮度检测调整显示器、将闪光灯应用于照相机、或其它特征)。在一个实施例中,设备600包括功率管理650,其管理电池功率利用、电池充电、以及与节电操作有关的特征。
存储器子系统660包括用于在设备600中存储信息的(多个)存储器设备662。存储器子系统660可以包括非易失性(如果到存储器设备的电力中断,则状态不改变)存储器设备和/或易失性(如果到存储器设备的电力中断,则状态是不确定的)存储器设备。存储器660能够存储与执行系统600的应用和功能有关的应用数据、用户数据、音乐、照片、文档、或其它数据、以及系统数据(无论是长期的还是临时的)。在一个实施例中,存储器子系统660包括存储器控制器664(其也可以被认为是系统600的控制的一部分,并且可以潜在地被认为是处理器610的一部分)。存储器控制器664包括调度器,其用于生成命令并向存储器设备662发布命令。
连接670包括使得设备600能够与外部设备进行通信的硬件设备(例如,无线和/或有线连接器和通信硬件)和软件组件(例如,驱动器、协议栈)。外部设备可以是分离的设备,例如,其它计算设备、无线接入点或基站,以及诸如耳机、打印机、或其它设备的外围设备。
连接670能够包括多种不同类型的连接。概括地,设备600被示为具有蜂窝连接672和无线连接674。蜂窝连接672一般是指由无线载波提供的蜂窝网络连接,例如,经由GSM(全球移动通信系统)或变体或衍生物、CDMA(码分多址)或变体或衍生物、TDM(时分复用)或变体或衍生物、LTE(长期演进——也称为“4G”)、或其它蜂窝服务标准所提供的。无线连接674是指非蜂窝的无线连接,并且能够包括个人区域网(例如,蓝牙)、局域网(例如,WiFi)、和/或广域网(例如,WiMax)、或其它无线通信。无线通信是指通过使用调制电磁辐射通过非固态介质来转移数据。有线通信通过固态通信介质发生。
外围连接680包括硬件接口和连接器,以及进行外围连接的软件组件(例如,驱动器、协议栈)。可以理解,设备600可以是其它计算设备的外围设备(“至”682),以及使外围设备(“从”684)连接到其上。设备600常见地具有“对接”连接器,其用于连接到其它计算设备以用于诸如管理(例如,下载和/或上传、改变、同步)设备600上的内容的目的。另外,对接连接器能够允许设备600连接到允许设备600控制将内容输出到例如视听或其它系统的某些外围设备。
除了专属对接连接器或其它专属连接硬件之外,设备600能够经由公共的或基于标准的连接器来进行外围连接680。公共类型能够包括通用串行总线(USB)连接器(其能够包括多个不同的硬件接口中的任一个)、包括微型显示端口(MiniDisplayPort,MDP)的显示端口(DisplayPort)、高清晰度多媒体接口(HDMI)、火线、或其它类型。
在一个实施例中,存储器子系统660包括命令逻辑666,其能够表示存储器662的逻辑和/或存储器控制器664的逻辑。命令逻辑666允许存储器子系统跨存储体分组将每个存储体命令应用于相同的所识别的存储体。例如,每个存储体命令能够包括每个存储体预充电命令和/或每个存储体刷新命令。在一个实施例中,每个存储体刷新命令能够识别存储体编号,并且能够通过存储器设备跨所有存储体分组对相同的存储体进行刷新。类似地,在一个实施例中,每个存储体预充电命令能够识别存储体编号,并且能够通过存储器设备跨所有存储体分组对相同的存储体进行预充电。
在一个方面中,一种用于在存储器子系统中进行刷新的存储器设备,包括:存储体分组架构中的存储器的多个存储体,其存储体分组架构中,存储器资源的存储体能够通过存储体分组标识符和存储体标识符在存储体分组中分离地寻址;I/O(输入/输出)硬件,其耦合到存储器控制器并接收来自存储器控制器的命令,该命令包括存储体标识符;以及用于对命令进行解码并且至少部分地基于命令来存取对应于存储体标识符的存储体的逻辑,存储体包括不同的存储体分组中的存储体。
在一个实施例中,I/O硬件被配置为接收具有用于多于一个存储体的存储体标识符的命令。在一个实施例中,I/O硬件被配置为接收不具有存储体分组标识符的命令。在一个实施例中,I/O硬件被配置为接收具有用于选择所有存储体分组的存储体分组标识符的命令。在一个实施例中,命令包括刷新命令。在一个实施例中,命令包括预充电命令。在一个实施例中,命令包括用于存取不同的存储体分组中相同的存储体标识符的预充电命令和刷新命令的序列。在一个实施例中,还包括耦合到存储器设备的存储器控制器。在一个实施例中,还包括至少一个处理器以及网络接口,至少一个处理器通信地耦合到存储器控制器,并且网络接口通信地耦合到至少一个处理器。
在一个方面中,一种用于执行刷新的系统,包括:存储器控制器;以及与存储器控制器耦合的存储器设备,存储器设备包括:存储体分组架构中的存储器的多个存储体,在存储体分组架构中,存储器资源的存储体能够通过存储体分组标识符和存储体标识符在存储体分组中分离地寻址;I/O(输入/输出)硬件,其耦合到存储器控制器并且接收来自存储器控制器的命令,命令包括存储体标识符;以及用于对命令进行解码并且至少部分地基于命令来存取对应于存储体标识符的存储体的逻辑,存储体包括不同的存储体分组中的存储体。
在系统的一个方面中,存储器设备是根据上面的存储器设备的方面的任何实施例的。在一个实施例中,还包括通信地耦合到存储器控制器的至少一个处理器。在一个实施例中,存储器控制器是处理器的一部分。在一个实施例中,还包括通信地耦合到至少一个处理器的网络接口。
在一个方面中,一种用于存储器子系统中的刷新的方法,包括:在存储器设备处接受来自存储器控制器的命令,命令包括存储体标识符,存储器设备具有存储体分组架构,在存储体分组架构中,存储器资源的存储体能够通过存储体分组标识符和存储体标识符在存储体分组中分离地寻址;以及响应于接收到命令,使得对应于存储体标识符的所有存储体执行命令,存储体包括不同的存储体分组中的存储体。
在该方法的一个方面中,该方法包括根据上面关于存储器设备所阐述的任何实施例的操作。在一个方面中,一种制品,包括其上存储有内容的计算机可读存储介质,该内容当被存取时引起操作的执行以执行根据该方法的任何实施例的用于刷新的方法。在一个方面中,一种用于刷新的装置,包括用于执行操作以执行根据该方法的任何实施例的方法的模块。
在一个方面中,一种存储器控制器包括:命令逻辑,其用于确定发送用于在相关联的存储器设备的一部分上执行的命令以仅存取存储器设备的所识别的部分,存储器设备具有存储体分组架构,在存储体分组架构中,存储器资源的存储体能够通过存储体分组标识符和存储体标识符在存储体分组中分离地寻址;以及I/O(输入/输出)硬件,其耦合到存储器设备,I/O硬件生成命令并将命令发送到存储器设备,命令包括存储体标识符,命令存取存储器设备内的对应于存储体标识符的所有存储体以用于执行命令,存储体包括不同的存储体分组中的存储体。
在一个实施例中,I/O硬件发送命令包括,I/O硬件被配置为发送具有用于多于一个存储体的存储体标识符的命令。在一个实施例中,I/O硬件发送命令包括,I/O硬件被配置为发送不具有存储体分组标识符的命令。在一个实施例中,I/O硬件发送命令包括,I/O硬件被配置为发送具有用于选择所有存储体分组的存储体分组标识符的命令。在一个实施例中,I/O硬件发送命令包括,I/O硬件被配置为按顺序发送用于存取不同的存储体分组中相同的存储体标识符的预充电命令、刷新命令、或二者。
在一个方面中,一种用于执行刷新的第二系统,包括:存储器设备;以及耦合到存储器设备的存储器控制器,存储器控制器包括命令逻辑,命令逻辑确定发送用于在相关联的存储器设备的一部分上执行的命令以仅存取存储器设备的所识别的部分,存储器设备具有存储体分组架构,在存储体分组架构中,存储器资源的存储体能够通过存储体分组标识符和存储体标识符在存储体分组中分离地寻址;以及I/O(输入/输出)硬件,其耦合到存储器设备,I/O硬件生成命令并将命令发送到存储器设备,命令包括存储体标识符,命令存取存储器设备内的对应于存储体标识符的所有存储体以用于执行命令,存储体包括不同的存储体分组中的存储体。
在第二系统的一个方面中,存储器设备是根据上面的存储器控制器的方面的任何实施例的。在一个实施例中,还包括通信地耦合到存储器控制器的至少一个处理器。在一个实施例中,存储器控制器是处理器的一部分。在一个实施例中,还包括通信地耦合到至少一个处理器的网络接口。
在一个方面中,一种用于存储器子系统中的刷新的第二方法,包括:确定发送用于在相关联的存储器设备的一部分上执行的命令以仅存取存储器设备的所识别的部分,存储器设备具有存储体分组架构,在存储体分组架构中,存储器资源的存储体能够通过存储体分组标识符和存储体标识符在存储体分组中分离地寻址;以及将命令发送到存储器设备,命令包括存储体标识符,命令存取存储器设备内的对应于存储体标识符的所有存储体以用于执行命令,存储体包括在不同的存储体分组中的存储体。
在第二方法的一个方面中,第二方法包括根据上面关于存储器控制器所阐述的任何实施例的操作。在一个方面中,一种制品,包括其上存储有内容的计算机可读存储介质,内容当被存取时引起执行的操作以执行根据第二方法的任何实施例的用于刷新的方法。在一个方面中,一种用于刷新的装置,包括用于执行操作以执行根据第二方法的任何实施例的方法的模块。
如本文所示出的流程图提供了各种处理动作的序列的示例。流程图能够指示要由软件或固件例程执行的操作,以及物理操作。在一个实施例中,流程图能够示出能够以硬件和/或软件实现的有限状态机(FSM)的状态。尽管以特定的序列或次序示出,但是除非另有说明,否则能够修改动作的次序。因此,所示出的实施例仅应当被理解为示例,并且过程能够以不同的次序执行,并且一些动作能够并行地执行。另外,在各种实施例中可以省略一个或多个动作;因此,并非在每个实施例中都需要所有的动作。其它过程流是可能的。
在本文中描述的各种操作或功能的范围内,它们能够被描述或定义为软件代码、指令、配置、和/或数据。内容能够是直接可执行(“对象”或“可执行”形式)的源代码或差分代码(“增量(delta)”或“补丁”代码)。本文描述的实施例的软件内容能够经由其上存储有内容的制品来提供,或者经由操作通信接口以经由通信接口发送数据的方法来提供。机器可读存储介质能够使机器执行所描述的功能或操作,并且包括以机器(例如,计算设备、电子系统等)可存取的形式存储信息的任何机制,例如,可记录/不可记录介质(例如,只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪速存储器设备等)。通信接口包括与硬连线、无线、光学等介质中的任何介质接口以传达到另一设备的任何机制,例如,存储器总线接口、处理器总线接口、互联网连接、磁盘控制器等。能够通过提供配置参数和/或发送信号以准备通信接口用于提供描述软件内容的数据信号来配置通信接口。能够经由发送到通信接口的一个或多个命令或信号来访问通信接口。
本文描述的各种组件能够是用于执行所描述的操作或功能的模块。本文描述的每个组件包括软件、硬件、或其组合。这些组件能够被实现为软件模块、硬件模块、专用硬件(例如,特定于应用的硬件、专用集成电路(ASIC)、数字信号处理器(DSP)等)、嵌入式控制器、硬连线电路等。
除了本文所描述的内容之外,能够在不脱离本发明的范围的情况下对本发明的所公开的实施例和实现方式进行各种修改。因此,本文中的说明和示例应当被解释为说明性的,而非限制意义的。本发明的范围应当仅仅通过参考所附权利要求来衡量。

Claims (17)

1.一种动态随机存取存储器DRAM设备,包括:
存储器的多个存储体,所述多个存储体能够通过存储体分组标识符并且通过存储体标识符进行寻址;
接口硬件,其耦合到命令和地址总线的多个信号线;以及
用于在所述接口硬件处将命令信号识别为包括存储体标识符并且不包括存储体分组标识符的相同存储体命令的逻辑,所述逻辑跨多个不同的存储体分组将所述相同存储体命令应用于通过所述存储体标识符识别的存储体。
2.根据权利要求1所述的DRAM设备,其中,所述相同存储体命令包括相同存储体刷新命令。
3.根据权利要求2所述的DRAM设备,其中,所述逻辑包括内部存储体计数器和全局刷新计数器二者,所述内部存储体计数器用于跟踪对特定存储体的刷新计数。
4.根据权利要求1所述的DRAM设备,其中,所述相同存储体命令包括相同存储体预充电命令。
5.根据权利要求1所述的DRAM设备,其中,所述相同存储体命令包括用于存取不同的存储体分组中的相同存储体标识符的相同存储体预充电命令和相同存储体刷新命令的序列。
6.根据权利要求1所述的DRAM设备,其中,所述DRAM设备包括与双重数据速率版本5(DDR5)标准兼容的存储器设备。
7.一种用于执行刷新的系统,包括:
存储器控制器,其用于管理相关联的存储器设备的刷新;以及
多个存储器设备,其耦合到所述存储器控制器,其中,存储器设备包括
存储器的多个存储体,所述多个存储体能够通过存储体分组标识符并且通过存储体标识符进行寻址;
接口硬件,其耦合到命令和地址总线的多个信号线;以及
用于在所述接口硬件处将命令信号识别为包括存储体标识符并且不包括存储体分组标识符的相同存储体命令的逻辑,所述逻辑跨多个不同的存储体分组将所述相同存储体命令应用于通过所述存储体标识符识别的存储体。
8.根据权利要求7所述的系统,其中,所述相同存储体命令包括相同存储体刷新命令。
9.根据权利要求8所述的系统,其中,所述逻辑包括内部存储体计数器和全局刷新计数器二者,所述内部存储体计数器用于跟踪对特定存储体的刷新计数。
10.根据权利要求7所述的系统,其中,所述相同存储体命令包括相同存储体预充电命令。
11.根据权利要求7所述的系统,其中,所述相同存储体命令包括用于存取不同的存储体分组中的相同存储体标识符的相同存储体预充电命令和相同存储体刷新命令的序列。
12.根据权利要求10所述的系统,其中,所述存储器设备包括与双重数据速率版本5(DDR5)标准兼容的存储器设备。
13.根据权利要求7所述的系统,还包括以下中的一个或多个:
通信地耦合到所述存储器控制器的至少一个处理器;
通信地耦合到至少一个处理器的显示器;或者
通信地耦合到至少一个处理器的网络接口。
14.一种存储器控制器,包括:
接口硬件,其通过命令和地址总线的多个信号线耦合到存储器设备,其中,所述命令和地址总线包括用于识别存储体地址的至少一个存储体地址信号线以及用于识别存储体分组的至少一个存储体分组信号线;以及
命令逻辑,其用于发布相同存储体命令,包括选择性地对命令和地址位进行置位,以识别仅对所述存储器设备的所识别的部分进行的存取,所述相同存储体命令利用所述至少一个存储体地址信号线来识别存储体标识符,并且不利用所述至少一个存储体分组信号线来识别存储体分组;
其中,所述相同存储体命令用于触发所述存储器设备对所述存储器设备内的与所述存储体标识符相对应的所有存储体进行存取以用于命令的执行,包括不同的存储体分组中的存储体。
15.根据权利要求14所述的存储器控制器,其中,所述相同存储体命令包括相同存储体刷新命令。
16.根据权利要求14所述的存储器控制器,其中,所述相同存储体命令包括相同存储体预充电命令。
17.根据权利要求14所述的存储器控制器,其中,所述相同存储体命令包括用于存取不同的存储体分组中的相同存储体标识符的相同存储体预充电命令和相同存储体刷新命令的序列。
CN201680007711.9A 2015-02-28 2016-02-12 对具有存储体分组架构的存储器设备内的存储体进行预充电和刷新 Active CN107210063B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110384599.3A CN113113063B (zh) 2015-02-28 2016-02-12 存储器设备、存储器控制器及存储系统
CN202011307668.2A CN112382322A (zh) 2015-02-28 2016-02-12 存储器设备、存储器控制器及存储系统

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562126597P 2015-02-28 2015-02-28
US62/126,597 2015-02-28
US14/865,754 2015-09-25
US14/865,754 US9728245B2 (en) 2015-02-28 2015-09-25 Precharging and refreshing banks in memory device with bank group architecture
PCT/US2016/017688 WO2016137760A1 (en) 2015-02-28 2016-02-12 Precharging and refreshing banks in memory device with bank group architecture

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN202011307668.2A Division CN112382322A (zh) 2015-02-28 2016-02-12 存储器设备、存储器控制器及存储系统
CN202110384599.3A Division CN113113063B (zh) 2015-02-28 2016-02-12 存储器设备、存储器控制器及存储系统

Publications (2)

Publication Number Publication Date
CN107210063A CN107210063A (zh) 2017-09-26
CN107210063B true CN107210063B (zh) 2021-04-30

Family

ID=56789155

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202011307668.2A Pending CN112382322A (zh) 2015-02-28 2016-02-12 存储器设备、存储器控制器及存储系统
CN201680007711.9A Active CN107210063B (zh) 2015-02-28 2016-02-12 对具有存储体分组架构的存储器设备内的存储体进行预充电和刷新
CN202110384599.3A Active CN113113063B (zh) 2015-02-28 2016-02-12 存储器设备、存储器控制器及存储系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202011307668.2A Pending CN112382322A (zh) 2015-02-28 2016-02-12 存储器设备、存储器控制器及存储系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202110384599.3A Active CN113113063B (zh) 2015-02-28 2016-02-12 存储器设备、存储器控制器及存储系统

Country Status (5)

Country Link
US (2) US9728245B2 (zh)
KR (1) KR102511465B1 (zh)
CN (3) CN112382322A (zh)
TW (2) TWI609370B (zh)
WO (1) WO2016137760A1 (zh)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9728245B2 (en) * 2015-02-28 2017-08-08 Intel Corporation Precharging and refreshing banks in memory device with bank group architecture
US10490251B2 (en) 2017-01-30 2019-11-26 Micron Technology, Inc. Apparatuses and methods for distributing row hammer refresh events across a memory device
CN106875970B (zh) * 2017-02-16 2021-06-01 上海兆芯集成电路有限公司 动态随机存取存储器控制器及其控制方法
CN106875971B (zh) 2017-02-16 2021-01-22 上海兆芯集成电路有限公司 动态随机存取存储器控制器及其控制方法
US10141042B1 (en) 2017-05-23 2018-11-27 Micron Technology, Inc. Method and apparatus for precharge and refresh control
US20190026028A1 (en) * 2017-07-24 2019-01-24 Qualcomm Incorporated Minimizing performance degradation due to refresh operations in memory sub-systems
US10503670B2 (en) 2017-12-21 2019-12-10 Advanced Micro Devices, Inc. Dynamic per-bank and all-bank refresh
US11017833B2 (en) 2018-05-24 2021-05-25 Micron Technology, Inc. Apparatuses and methods for pure-time, self adopt sampling for row hammer refresh sampling
CN108829348B (zh) * 2018-05-29 2022-03-04 上海兆芯集成电路有限公司 存储器装置及命令重排序方法
US10573370B2 (en) 2018-07-02 2020-02-25 Micron Technology, Inc. Apparatus and methods for triggering row hammer address sampling
KR102469113B1 (ko) * 2018-09-18 2022-11-22 에스케이하이닉스 주식회사 메모리 및 메모리의 리프레시 동작 방법
CN118197372A (zh) * 2018-10-09 2024-06-14 美光科技公司 用于行锤击缓解的方法以及采用所述方法的存储器装置和系统
US10685696B2 (en) 2018-10-31 2020-06-16 Micron Technology, Inc. Apparatuses and methods for access based refresh timing
WO2020117686A1 (en) 2018-12-03 2020-06-11 Micron Technology, Inc. Semiconductor device performing row hammer refresh operation
US10593392B1 (en) * 2018-12-19 2020-03-17 Micron Technology, Inc. Apparatuses and methods for multi-bank refresh timing
CN117198356A (zh) 2018-12-21 2023-12-08 美光科技公司 用于目标刷新操作的时序交错的设备和方法
US10957377B2 (en) 2018-12-26 2021-03-23 Micron Technology, Inc. Apparatuses and methods for distributed targeted refresh operations
US11615831B2 (en) 2019-02-26 2023-03-28 Micron Technology, Inc. Apparatuses and methods for memory mat refresh sequencing
US11227649B2 (en) * 2019-04-04 2022-01-18 Micron Technology, Inc. Apparatuses and methods for staggered timing of targeted refresh operations
US11069393B2 (en) 2019-06-04 2021-07-20 Micron Technology, Inc. Apparatuses and methods for controlling steal rates
US10978132B2 (en) 2019-06-05 2021-04-13 Micron Technology, Inc. Apparatuses and methods for staggered timing of skipped refresh operations
US11302374B2 (en) 2019-08-23 2022-04-12 Micron Technology, Inc. Apparatuses and methods for dynamic refresh allocation
US11302377B2 (en) 2019-10-16 2022-04-12 Micron Technology, Inc. Apparatuses and methods for dynamic targeted refresh steals
US11681465B2 (en) * 2020-06-12 2023-06-20 Advanced Micro Devices, Inc. Dynamic multi-bank memory command coalescing
US11309010B2 (en) 2020-08-14 2022-04-19 Micron Technology, Inc. Apparatuses, systems, and methods for memory directed access pause
US11380382B2 (en) 2020-08-19 2022-07-05 Micron Technology, Inc. Refresh logic circuit layout having aggressor detector circuit sampling circuit and row hammer refresh control circuit
US11348631B2 (en) 2020-08-19 2022-05-31 Micron Technology, Inc. Apparatuses, systems, and methods for identifying victim rows in a memory device which cannot be simultaneously refreshed
US11557331B2 (en) 2020-09-23 2023-01-17 Micron Technology, Inc. Apparatuses and methods for controlling refresh operations
US11222686B1 (en) 2020-11-12 2022-01-11 Micron Technology, Inc. Apparatuses and methods for controlling refresh timing
US11264079B1 (en) 2020-12-18 2022-03-01 Micron Technology, Inc. Apparatuses and methods for row hammer based cache lockdown
CN112711548B (zh) * 2021-01-11 2023-05-16 星宸科技股份有限公司 内存装置、图像处理芯片以及内存控制方法
CN113454720B (zh) * 2021-05-21 2024-04-23 长江先进存储产业创新中心有限责任公司 存储设备及其控制方法
CN114388025B (zh) * 2021-12-30 2022-09-13 中科声龙科技发展(北京)有限公司 动态随机存储器刷新电路和刷新方法、工作量证明芯片
US12038855B2 (en) * 2022-02-09 2024-07-16 Qualcomm Incorporated Memory system with adaptive refresh
US12112787B2 (en) 2022-04-28 2024-10-08 Micron Technology, Inc. Apparatuses and methods for access based targeted refresh operations

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5349693A (en) * 1989-07-21 1994-09-20 Nec Corporation Control circuit for digital data transfer
CN102760485A (zh) * 2006-04-28 2012-10-31 莫塞德技术公司 具有完全独立的部分阵列刷新功能的动态随机存取存储器

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6915480B2 (en) * 2001-12-21 2005-07-05 Agere Systems Inc. Processor with packet data flushing feature
US7519762B2 (en) * 2003-09-30 2009-04-14 Intel Corporation Method and apparatus for selective DRAM precharge
US9087603B2 (en) * 2003-09-30 2015-07-21 Intel Corporation Method and apparatus for selective DRAM precharge
US20050108460A1 (en) * 2003-11-14 2005-05-19 Intel Corporation Partial bank DRAM refresh
US7281079B2 (en) * 2003-12-31 2007-10-09 Intel Corporation Method and apparatus to counter mismatched burst lengths
US6967885B2 (en) 2004-01-15 2005-11-22 International Business Machines Corporation Concurrent refresh mode with distributed row address counters in an embedded DRAM
KR100653688B1 (ko) 2004-04-29 2006-12-04 삼성전자주식회사 반도체 메모리 장치 및 이 장치의 리프레쉬 방법, 및 이장치를 위한 메모리 시스템
US8688892B2 (en) * 2004-05-26 2014-04-01 OCZ Storage Solutions Inc. System and method for increasing DDR memory bandwidth in DDR SDRAM modules
US7184350B2 (en) 2004-05-27 2007-02-27 Qualcomm Incorporated Method and system for providing independent bank refresh for volatile memories
US7444577B2 (en) * 2005-08-04 2008-10-28 Rambus Inc. Memory device testing to support address-differentiated refresh rates
KR100809960B1 (ko) * 2006-09-28 2008-03-07 삼성전자주식회사 반도체 메모리 장치의 리프레시 회로 및 리프레시 방법
CN101715575A (zh) * 2006-12-06 2010-05-26 弗森多系统公司(dba弗森-艾奥) 采用数据管道管理数据的装置、系统和方法
US20080151670A1 (en) * 2006-12-22 2008-06-26 Tomohiro Kawakubo Memory device, memory controller and memory system
JP5034551B2 (ja) * 2007-02-26 2012-09-26 富士通セミコンダクター株式会社 メモリコントローラ、半導体メモリのアクセス制御方法およびシステム
US20080270683A1 (en) 2007-04-25 2008-10-30 International Business Machines Corporation Systems and methods for a dram concurrent refresh engine with processor interface
KR100909630B1 (ko) 2007-11-02 2009-07-27 주식회사 하이닉스반도체 어드레스 카운터 회로
KR100965768B1 (ko) * 2007-12-26 2010-06-24 주식회사 하이닉스반도체 반도체 메모리 소자
KR20120012056A (ko) * 2010-07-30 2012-02-09 주식회사 하이닉스반도체 메모리장치
US8411523B2 (en) 2010-09-24 2013-04-02 Intel Corporation Reduced current requirements for DRAM self-refresh modes via staggered refresh operations of subsets of memory banks or rows
US9293187B2 (en) 2011-09-26 2016-03-22 Cisco Technology, Inc. Methods and apparatus for refreshing digital memory circuits
KR20130072066A (ko) * 2011-12-21 2013-07-01 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그의 구동 방법
US9236110B2 (en) * 2012-06-30 2016-01-12 Intel Corporation Row hammer refresh command
US9003246B2 (en) * 2012-09-29 2015-04-07 Intel Corporation Functional memory array testing with a transaction-level test engine
US8996934B2 (en) * 2012-09-29 2015-03-31 Intel Corporation Transaction-level testing of memory I/O and memory device
US9269417B2 (en) 2013-01-04 2016-02-23 Intel Corporation Memory refresh management
US9336855B2 (en) 2013-05-14 2016-05-10 Qualcomm Incorporated Methods and systems for smart refresh of dynamic random access memory
KR102105894B1 (ko) 2013-05-30 2020-05-06 삼성전자주식회사 휘발성 메모리 장치 및 그것의 리프레쉬 방법
US9117542B2 (en) 2013-09-27 2015-08-25 Intel Corporation Directed per bank refresh command
US9881656B2 (en) 2014-01-09 2018-01-30 Qualcomm Incorporated Dynamic random access memory (DRAM) backchannel communication systems and methods
US20150318035A1 (en) 2014-05-02 2015-11-05 Qualcomm Incorporated Priority adjustment of dynamic random access memory (dram) transactions prior to issuing a per-bank refresh for reducing dram unavailability
US9728245B2 (en) * 2015-02-28 2017-08-08 Intel Corporation Precharging and refreshing banks in memory device with bank group architecture

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5349693A (en) * 1989-07-21 1994-09-20 Nec Corporation Control circuit for digital data transfer
CN102760485A (zh) * 2006-04-28 2012-10-31 莫塞德技术公司 具有完全独立的部分阵列刷新功能的动态随机存取存储器

Also Published As

Publication number Publication date
CN113113063A (zh) 2021-07-13
US10109340B2 (en) 2018-10-23
KR102511465B1 (ko) 2023-03-16
KR20170125011A (ko) 2017-11-13
US9728245B2 (en) 2017-08-08
TWI609370B (zh) 2017-12-21
US20180025773A1 (en) 2018-01-25
TWI713024B (zh) 2020-12-11
CN112382322A (zh) 2021-02-19
CN107210063A (zh) 2017-09-26
WO2016137760A1 (en) 2016-09-01
TW201816789A (zh) 2018-05-01
TW201643876A (zh) 2016-12-16
CN113113063B (zh) 2024-03-08
US20160254044A1 (en) 2016-09-01

Similar Documents

Publication Publication Date Title
CN107210063B (zh) 对具有存储体分组架构的存储器设备内的存储体进行预充电和刷新
US10504579B2 (en) Directed per bank refresh command
US10680613B2 (en) Programmable on-die termination timing in a multi-rank system
US10636476B2 (en) Row hammer mitigation with randomization of target row selection
CN107924705B (zh) 动态随机存取存储器装置、存储器控制器以及存储系统
US10679698B2 (en) Memory preset adjustment based on adaptive calibration
US20190392886A1 (en) Applying chip select for memory device identification and power management control
US20170110178A1 (en) Hybrid refresh with hidden refreshes and external refreshes
US10416912B2 (en) Efficiently training memory device chip select control
US20160378366A1 (en) Internal consecutive row access for long burst length
WO2014085268A1 (en) Apparatus, method and system for memory device access with a multi-cycle command
US9953694B2 (en) Memory controller-controlled refresh abort

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200824

Address after: Tokyo, Japan

Applicant after: Sony Corp.

Address before: California, USA

Applicant before: INTEL Corp.

GR01 Patent grant
GR01 Patent grant