在存储装置中寻址数据的方法、存储装置和存储模块与流程

文档序号:11235366阅读:662来源:国知局
在存储装置中寻址数据的方法、存储装置和存储模块与流程

相关申请的交叉引用

本申请要求于2016年3月3日提交的第62/303,353号美国临时申请和于2016年6月8日提交的第62/347,569号美国临时申请的优先权及权益,其全部内容通过引用并入本文。

本发明的实施方式的方面涉及用于寻址大容量的类sdram(sdram-like)存储器而不增加引脚成本或引脚数的方法。



背景技术:

在jedecddr4sdram(双倍数据速率第四代同步动态随机存取存储器)标准中,有用于cid(芯片id或秩(rank))的3个引脚、用于体(bank)的4个引脚、和用于行或列(取决于命令)的18个(共享)引脚。目前的引脚使用和寻址方案支持假设选择并装配dram芯片尺寸、宽度和组织的精确组合的每dimm(双列直插式存储模块,在单一封装中的大量dram芯片或其他存储器芯片的集合)多达256gb的容量(否则,导致较小容量或较低可寻址的dimm)。大于上述的模块容量或可寻址能力是不支持的(例如存储器将是不可寻址的,即使其能够物理地添加至模块)。



技术实现要素:

本发明实施方式的各个方面针对sdram命令、定时和组织。举例来说,本发明的方面针对用于寻址像大容量sdram的存储器而不增加引脚成本或引脚数的系统和方法。另有一些方面针对支持大容量存储模块,还保留了像sdram(例如ddr4)的地址引脚定义。还有一些方面针对act+(激活命令)或rd/wr+(读取/写入命令)扩展。还有一些方面针对背靠背ras/cas(行地址选通/列地址选通)命令、背靠背cas/cas及定时修改。还另有方面针对多行或多列缓冲区组织,包括命令修改和装置重组。

根据本发明的实施方式,提供了用于在存储装置中寻址数据的方法。数据布置在分别由第一数量的行地址位和第二数量的列地址位索引的行和列的阵列中。数据使用由指定第三数量的行地址位的行地址命令紧接着指定第四数量的列地址位的列地址命令所定义的架构寻址。第一数量大于第三数量或第二数量大于第四数量。方法包括:将第一数量的行地址位分割为行地址位的第一子集和行地址位的第二子集,当第一数量大于第三数量时在行地址命令中指定第一子集并在下一地址命令中指定第二子集;发出行地址命令作为存储装置的行的行存取的全部或部分;将第二数量的列地址位分割为列地址位的第三子集和列地址位的第四子集,当第二数量大于第四数量时在列地址命令中指定第四子集并在前一地址命令中指定第三子集;以及发出列地址命令作为行的列存取的全部或部分。

下一地址命令可为列地址命令或者前一地址命令可为行地址命令。

列地址命令的发出可紧接着行地址命令的发出。

第一数量可大于第三数量。架构还可由表示在数据总线上列地址命令和数据可用性之间延迟的第一存取定时定义。方法还可包括:在第二存取定时中执行行的初始列存取,第二存取定时长于第一存取定时;以及在第一存取定时中执行行的随后列存取。

方法还可包括在行地址命令之后和列地址命令之前发出下一地址命令或前一地址命令。

下一地址命令的发出可紧接着行地址命令的发出或者前一地址命令的发出可紧先于列地址命令的发出。

方法还可包括将第二数量的列地址位分割为列地址位的第三子集和列地址位的第四子集,当第一数量大于第三数量时在列地址命令中指定第四子集并在前一地址命令中指定第三子集。

第一数量可大于第三数量。数据还可布置在行和列的子阵列中,子阵列的每一个都为行和列的子集并分别由第三数量的行地址位和第二数量的列地址位索引。行地址位的第一子集可为第三数量的行地址位。存储装置可包括用于子阵列的每一个的行缓冲区。对于子阵列中的每一个子阵列,方法还可包括响应于行地址命令用来自由对应的所述行地址位的第一子集所指定的阵列的行数据加载对应的所述行缓冲区。

方法还可包括在下一地址命令中选择由行地址位的第二子集所指定的阵列之一。

第二数量可大于第四数量。数据还可布置在行和列的子阵列中,子阵列的每一个都为行和列的子集并分别由第一数量的行地址位和第四数量的列地址位索引。列地址位的第四子集可为第四数量的列地址位。存储装置可包括用于子阵列的每一个的行缓冲区。对于子阵列中的每一个子阵列,方法还可包括响应于行地址命令用来自由第一数量的行地址位所指定的子阵列的行数据加载对应的所述行缓冲区。

方法还可包括在前一地址命令中选择由列地址位的第三子集所指定的阵列之一。

根据本发明另一实施方式,提供了存储装置。存储装置包括用于储存布置在分别由第一数量的行地址位和第二数量的列地址位索引的行和列的阵列中的数据的存储单元。存储装置中的数据使用由指定第三数量的行地址位的行地址命令紧接着指定第四数量的列地址位的列地址命令所定义的架构寻址。第一数量大于第三数量或第二数量大于第四数量。数据的寻址包括:将第一数量的行地址位分割为行地址位的第一子集和行地址位的第二子集,当第一数量大于第三数量时在行地址命令中指定第一子集并在下一地址命令中指定第二子集;发出行地址命令作为存储装置的行的行存取的全部或部分;将第二数量的列地址位分割为列地址位的第三子集和列地址位的第四子集,当第二数量大于第四数量时在列地址命令中指定第四子集并在前一地址命令中指定第三子集;以及发出列地址命令作为行的列存取的全部或部分。

下一地址命令可为列地址命令或者前一地址命令可为行地址命令。

列地址命令的发出可紧接着行地址命令的发出。

第一数量可大于第三数量。架构还可由表示在数据总线上列地址命令和数据可用性之间延迟的第一存取定时定义。数据的寻址还可包括:在第二存取定时中执行行的初始列存取,第二存取定时长于第一存取定时;以及在第一存取定时中执行行的随后列存取。

数据的寻址还可包括在行地址命令之后和列地址命令之前发出下一地址命令或前一地址命令。

下一地址命令的发出可紧接着行地址命令的发出或者前一地址命令的发出可紧先于列地址命令的发出。

第一数量可大于第三数量。数据还可布置在行和列的子阵列中,子阵列的每一个都为行和列的子集并分别由第三数量的行地址位和第二数量的列地址位索引。行地址位的第一子集可为第三数量的行地址位。存储装置还可包括用于子阵列的每一个的行缓冲区。对于子阵列中的每一个子阵列,数据的寻址还可包括响应于行地址命令用来自由对应的所述行地址位的第一子集所指定的阵列的行数据加载对应的所述行缓冲区。

数据的寻址还可包括在下一地址命令中选择由行地址位的第二子集所指定的阵列之一。

第二数量可大于第四数量。数据还可布置在行和列的子阵列中,子阵列的每一个都为行和列的子集并分别由第一数量的行地址位和第四数量的列地址位索引。列地址位的第四子集可为第四数量的列地址位。存储装置还可包括用于子阵列的每一个的行缓冲区。对于子阵列中的每一个子阵列,数据的寻址还可包括响应于行地址命令用来自由第一数量的行地址位所指定的阵列的行数据加载对应的所述行缓冲区。

数据的寻址还可包括在前一地址命令中选择由列地址位的第三子集所指定的阵列之一。

根据本发明又一实施方式,提供了存储模块。存储模块包括多个存储装置。存储装置中的每个存储装置包括用于储存布置在分别由第一数量的行地址位和第二数量的列地址位索引的行和列的阵列中的数据的存储单元。存储装置中的数据使用由指定第三数量的行地址位的行地址命令紧接着指定第四数量的列地址位的列地址命令所定义的架构寻址。第一数量大于第三数量或第二数量大于第四数量。数据的寻址包括:将第一数量的行地址位分割为行地址位的第一子集和行地址位的第二子集,当第一数量大于第三数量时在行地址命令中指定第一子集并在下一地址命令中指定第二子集;发出行地址命令作为存储装置的行的行存取的全部或部分;将第二数量的列地址位分割为列地址位的第三子集和列地址位的第四子集,当第二数量大于第四数量时在列地址命令中指定第四子集并在前一地址命令中指定第三子集;以及发出列地址命令作为行的列存取的全部或部分。

下一地址命令可为列地址命令或者前一地址命令可为行地址命令。

列地址命令的发出可紧接着行地址命令的发出。

第一数量可大于第三数量。架构还可由表示在数据总线上列地址命令和数据可用性之间延迟的第一存取定时定义。数据的寻址还可包括:在第二存取定时中执行行的初始列存取,第二存取定时长于第一存取定时;以及在第一存取定时中执行行的随后的列存取。

数据的寻址还可包括在行地址命令之后和列地址命令之前发出下一地址命令或前一地址命令。

下一地址命令的发出可紧接着行地址命令的发出或者前一地址命令的发出可紧先于列地址命令的发出。

对于存储装置中的每个存储装置:第一数量可大于第三数量;数据还可布置在行和列的子阵列中,子阵列的每一个都为行和列的子集并分别由第三数量的行地址位和第二数量的列地址位索引,行地址位的第一子集为第三数量的行地址位;存储装置还可包括用于子阵列的每一个的行缓冲区;以及对于子阵列中的每一个子阵列,数据的寻址还可包括响应于行地址命令用来自由对应的所述行地址位的第一子集所指定的阵列的行数据加载对应的所述行缓冲区。

对于存储装置中的每个存储装置:第二数量可大于第四数量;数据还可布置在行和列的子阵列中,子阵列的每一个都为行和列的子集并分别由第一数量的行地址位和第四数量的列地址位索引,列地址位的第四子集为第四数量的列地址位;存储装置还可包括用于子阵列的每一个的行缓冲区;以及对于子阵列中的每一个子阵列,数据的寻址还可包括响应于用来自行地址命令如由第一数量的行地址位所指定的阵列的行数据加载对应的所述行缓冲区。

存储装置的每一个都可为相变随机存取存储(pram)装置。

根据以上和其他实施方式,提供了用于寻址像大容量sdram存储器而不增加引脚成本或引脚数的新方法。这些方法可基于来自模块的信息和支持在初始化时配置。虽然添加更多地址引脚是解决寻址对容量问题的一个途径,但引脚是成本昂贵的,并且其通常需要保留sdram(例如ddr4)引脚定义。

附图说明

附图连同说明书一起阐示了本发明的示例实施方式。这些示意图连同描述一起用于更好地解释本发明的方面和原理。

图1是根据本发明实施方式的示例存储模块和存储装置的原理图。

图2包括图2a和图2b,是根据本发明实施方式的使用扩展激活(act+)命令的示例数据存取操作的示意图。

图3是根据本发明实施方式的使用扩展读取(rd+)命令的示例数据存取操作的示意图。

图4包括图4a和图4b,是根据本发明实施方式的使用背靠背ras/cas命令序列的示例数据存取操作的示意图。

图5是根据本发明实施方式的使用背靠背cas/cas(双cas)命令序列的示例数据存取操作的示意图。

图6是根据本发明其他实施方式的使用背靠背ras/cas或cas/cas命令序列的示例数据存取操作的示意图。

图7是根据本发明实施方式的用于示例扩展读取(rd+)命令的ddr4sdram真值表。

图8是根据本发明实施方式的存储芯片的示例行组织的示意图。

图9是根据本发明实施方式的用于示例扩展写入(wr+)命令的ddr4sdram真值表。

图10是根据本发明实施方式的存储芯片的示例列组织的示意图。

图11是根据本发明实施方式的用于寻址存储装置的示例方法的流程图。

具体实施方式

在下文中,将根据附图更详细地描述示例实施方式,其中同样的参考数字自始至终是指同样的元件。然而,本发明可以多个不同的形式实现,并且不应本理解为仅限于本文所示的实施方式。

在本文中,当描述本发明实施方式时术语“可”的使用是指“本发明的一个或多个实施方式”。此外,当描述本发明实施方式时诸如“或”的可选语言的使用是指用于每个所列的相应项目的“本发明的一个或多个实施方式”。

本文中所述的根据本发明实施方式的电子或电气装置和/或任何其他相关装置或组件可利用任何硬件、固件(例如专用集成电路(asic))、软件或软件、固件和硬件的组合来实施。例如,这些装置的多个组件可在一个集成电路(ic)芯片上或在不同的ic芯片上形成。而且,这些装置的多个组件可在柔性印刷电路薄膜、带载封装(tcp)、印刷电路板(pcb)上实施或形成在一个衬底上。

此外,这些装置的多个组件可为运行于执行计算机程序指令并为执行本文所述的多个功能性而与其他系统组件交互的一个或多个计算装置中的一个或多个计算机处理器(比如微处理器)上的进程或线程。计算机程序指令可储存在可在使用诸如随机存取存储器(ram)的标准存储装置的计算装置中实施的存储器中。计算机程序指令还可储存在其他非临时性计算机可读介质中,例如cd-rom、闪存驱动器等等。

此外,本领域专业技术人员应意识到,多个计算装置的功能性可组合或集成至单一计算装置中,或特定计算装置的功能性可跨越一个或多个其他计算装置分布而不背离本发明的精神和范围。

在ddr4sdram中,存储装置(例如芯片)以行和列的阵列组织。行表示读取粒度,例如当sdram装置的行内的存储器的任何位置被读取或被写入时存取的sdram装置中的数据量。列表示被读取或被写入的行内的特定部分(比如4个、8个或16个位,也称为数据字)。首先提供行地址(比如用act命令)以将该行从sdram带入行缓冲区中,然后提供列地址(比如用rd或wr命令)以在行处于行缓冲区中时读取或写入行的特定部分。因为与装置的容量相比每行字节数相对较小,行远多于列。因此,用于寻址行的位(或硬件中的引脚)多于在该行中寻址列。

此外,因为行地址首先提供并大于列地址,ddr4sdram中的行地址引脚中的一些被重复用以提供列地址。当下面的存储芯片中行和列的数量关于该关系均衡时,地址引脚可在列地址命令期间有效地重复使用,从而有效利用架构。然而,当行和列的数量并不均衡时,地址引脚不可有效地重复利用,因此限制了可寻址的容量。例如在ddr4中,行的数量可在18个位中寻址,列的数量可在10个位中寻址。这强行限制了对应的存储芯片的大小以及数据的组织(行和列的数量)以充分利用寻址能力。例如,支持多行(例如多于18个寻址位)而相对较少的列的存储芯片可能不能充分利用该寻址方案。

根据一个或多个实施方式,提供了支持大容量存储模块(比如ddr4sdram存储模块)的方法和架构。例如,一些实施方式可提供类似sdram(比如ddr4)的地址引脚定义用于访问非易失性(比如pram或相变存储器)存储。

根据一个或多个实施方式,提供了激活(act)命令扩展(act+)。该新act命令可为带有为扩展的寻址能力(比如扩展的行地址)添加的又一个周期的现有的act命令的扩展。在另一实施方式中,该act+命令可为用于扩展的寻址能力的新的(单独的)命令。

根据一个或多个实施方式,提供了rd/wr+(例如读取、写入或其他列地址命令)扩展。这些新命令可为带有为扩展的寻址能力(比如扩展的列地址)添加的又一个周期的现有的rd/wr命令的扩展。在又一实施方式中,rd/wr+命令可为用于扩展的寻址能力的新的(单独的)命令。

根据其他实施方式,连同对应的定时修改一起提供了修改的背靠背行存取/列存取(ras/cas,表示“行存取选通”和“列存取选通”)命令(比如修改的读取或写入命令)。例如,可提供新的rd/wrcas(读取/写入命令和其对应的列选择位)定义,以便未使用的位(例如在列地址命令期间未使用的行地址位或列地址位)可重新目的化以携带扩展的行地址,有效增加越过其他设置或预定的(例如架构强加的)限制的寻址位的数量。例如,在一个或多个实施方式中,修改的act中的新的定时参数和rd/wr定时相关性可用于支持这种新的(或重新目的化的)rd/wr命令。

根据另一实施方式,提供了修改的背靠背行存取(cas/cas)命令。例如,可提供新的rd/wr命令以通过在两个cas命令之一中提供扩展的列或行地址位支持扩展的列(或行)寻址能力。

根据又一实施方式,提供了多行缓冲区组织(例如带有命令修改和装置重组)。例如,虽然下面的架构仅可支持这么多的行地址,但可提供具有额外的行地址索引的新的装置组织。例如,在一个或多个实施方式中,可提供新的rd/wr(cas)命令,以便未使用的位(例如在列地址命令期间未使用的行地址位或列地址位)可重新目的化以携带扩展的地址,比如扩展的行地址或扩展的列地址。

根据还一实施方式,提供了多列缓冲区组织(例如带有命令修改和装置重组)。例如,虽然下面的架构仅可支持这么多的列地址,但可提供具有额外的列地址索引的新的装置组织。例如,在一个或多个实施方式中,可提供新的act(ras)命令,以便未使用的位(例如在列地址命令期间未使用的行地址位)可重新目的化以携带扩展的地址,比如扩展的列地址。

根据本发明实施方式的上述方法和其他方法可基于来自模块的信息和支持而配置于存储模块的每个存储装置的初始化。

为了易于描述,下列所述主要基于jedecddr4sdram标准(或简称ddr4),其可采用4-位、8-位或16-位宽的dram芯片,但本发明不限于此。在其他实施方式中,如对于本领域普通技术人员显而易见的那样,可应用诸如其他sdram标准(包括其他双倍数据速率(ddr)标准)的不同标准且仍属于本发明的精神和范围内。除非相反描述,当涉及ddr4时,用于ddr4sdram的jedec标准,jedec固态技术协会的卷jesd79-4a(2013年11月)管辖,其全部内容通过引用包含在本文中。

此外,贯穿全文的术语“kb”、“mb”、“gb”和“tb”是指字节(b,或标准计算机架构中的8个位)的二的幂,即1kb=1024字节,1mb=1024kb,1gb=1024mb,及1tb=1024gb。为了更易于描述,dram芯片将假设为数据芯片以及二的幂的数量(例如每rank4芯、8芯或16芯),尽管实际中其他数量的芯片(例如对于每8个数据芯片的额外芯片)可用于诸如错误检测或修正的功能。还是为了更易于描述,术语“页面”将在本文中与“行”稍微有同义地使用;两者都涉及对应于特定行的存储芯片上的存储器的部分。以此类推,当提及存储硬件时,“芯片”和“装置”贯穿全文将稍微有同义地使用;两者都涉及存储模块的最小的单独可插拔的(或有时是可寻址的,正如堆栈式存储芯片)存储元件。

图1是根据本发明实施方式的示例存储模块100和存储装置120的原理图。

例如,存储模块100可为dimm,比如ddr4sdramdimm。存储模块100可包括包括引脚互连的印刷电路板(pcb)110、安装在pcb110上的存储装置120(例如存储芯片,比如随机存取存储器(ram)芯片)及用于连接存储装置120至使用存储模块100的电子装置的引脚130,比如工作站或个人计算机中的微处理器。pcb110可在两面上都具有引脚130和存储装置120并且通过引脚互连,并且存储装置120可为堆栈式(例如,使用硅通孔技术或tsv)。

图2包括图2a和图2b,是根据本发明实施方式的使用扩展act(激活)或act+的命令的示例数据存取操作的示意图。

在图2(及后续附图)中,阐释了各个定时参数(例如trc、tras)。特别相关处还将描述这些参数;否则,其定义和使用如jedecddr4sdram标准中所提供的或如本领域普通技术人员已知的那样。

在ddr4中,3个引脚用于cid(芯片id或rank),4个引脚用于体(例如每个存储芯片内的行和列的单独阵列),18个引脚用于行(和列)寻址。用于ddr4sdram的地址引脚重复用于行寻址和列寻址。在ddr4中,存储控制器可存取在不同周期期间在相同引脚上使用2个命令的sdram地址:act(激活)和rd/wr(读取/写入)。act命令可激活使用行地址(18个引脚)的行,加载该行至行缓冲区,而rd/wr命令可使用列地址(10个引脚)从行缓冲区选择对应的列。这里“rd/wr”是读取(rd)命令或写入(wr)命令(或其他列地址命令)的简写,两类或两种命令将不再进一步区分,除非如此明确提及(例如“rd/wr”、“rd”和“wr”可同义地使用以指读取或写入命令)。

在ddr4中,当前的引脚使用和寻址方案不可支持大容量存储器。例如,假设2gb每dram芯片连同诸如16个dram芯片(同时可寻址)每rank(例如每个dram芯片在该rank中每次为总计16×4位=64位的数据存取提供4个位的数据)以及8个rank(或多组(可能堆栈的)dram芯片)的芯片配置,当前ddr4仅能支持256gb每dimm,。

然而,这些容量仅可在像这样的精确配置中获得。在许多情况下,在架构定义(预期)的行和列的数量与下面的硬件中支持的行和列的实际数量之间存在不平衡(例如比起为有效实施架构而设计的,硬件中的行太多而列太少,或可能正相反,比如行太少而列太多),实质上浪费引脚。为增加总容量,或为虑及不平衡的行/列数,一个解决方案就是增加更多引脚。遗憾的是,这样成本很高,并且可能要修订当前的ddr4标准。

如图2b中所示,根据本发明实施方式,一个可能的解决方案可为使用扩展的act(act+)命令,在此情况下为双周期act命令(取代通常的单周期act命令)。参见图2a并比较标准act命令在ddr4中的实施。在图2a和图2b中(及其他定时图),所示定时从左至右进行,有4个单独的水平资源进行存取,即从高到低,(i)存储命令和地址总线,(ii)存储体,(iii)存储装置(例如dram芯片),以及(iv)存储数据总线。简言之,构成存储模块(比如dimm或双列直插式存储模块)上的rank的一组存储(dram)芯片在体(存储芯片内的逻辑划分)中存取,每个体由行构成,而每个行由列构成。

每个dimm可包括多组这种dram芯片或rank。为了易于描述,存取dimm时将只考虑单个rank以及该rank内的单个体。act命令可在指定体(例如3个位或4个位)及该体内的行(例如不超过18个位)。在图2a和图2b中从左至右,首先存取行(按照act命令所指定的),然后是列(按照rd/wr命令所指定的,比如rd)。这造成了待读取或待写入数据的突发,比如每个装置的4或8个数据字,或每个dimm的32或64个字节。每个装置的相同行中的4或8个数据字(dimm中的32或64个相连字节)的进一步存取可快速完成。然而,为了存取不同行,预充电(pre)命令可用于将当前行回写入存储阵列为由随后的act命令待存取的下一行做准备。

在图2b的实施方式中,使用了扩展的act命令(act+)。此处,act命令示为从一个时钟周期扩展至两个时钟周期,例如act可在第二时钟周期中提供额外的地址位(act+),以便增加提供的行地址位的数量。在ddr4中,例如额外的act+时钟周期可用于越过相同的行地址引脚发送行地址(共36个位)的另外18个位(扩展位),这也可允许显著较窄的行(例如较少的列数)寻址相同(或更多)数量的数据。在其他实施方式中,在act+命令中仅可提供10或12个行地址位,以便act+命令可有适当的运算码。

例如,在一些实施方式中,支持act+命令的存储装置可在初始化定时配置以识别标准act(单周期)ras命令或新的(双周期)act/act+协议。通过这样的方式,将仅有一个act命令,如果正在实施标准ddr4架构则存储装置预期act命令被发出一次(act),如果正在使用扩展的act(act+)协议则在连续周期中有两次。

通过如上所述的act+命令(例如跨越两个周期的36个行地址位),即使在每行仅包含单个4-位列的极端情况下,使用此扩展的行寻址能力的单个dram芯片能够在ddr4架构中存取240个这样的4-位列(四位元或半字节),或512gb的数据(例如使用4个位的体地址和36个位的扩展行地址),且引脚数或引脚成本无任何改变或增加。这已是在单个存储芯片中比ddr4标准为整个dimm(其可包括不超过128个dram芯片)提供的更大的容量。

在一些实施方式中,较窄的行可通过pram(相变ram)充分利用,其可取代传统sdram芯片以搭建带有这种act+扩展的ddr4dimm。例如,相较于可比的sdram芯片,pram可更能经受大量窄行(例如列很少)的考验,其可具有用于4-位宽的dram芯片的512-字节行(例如1024个列)。

在扩展的act命令的另一实施方式中,act命令可保持不变并简单地紧接着称为“act+”的新的单周期命令以携带额外的寻址位(例如10个或12个位)。例如,如图2b中所示,act+命令可紧接着第一act命令以携带扩展的行信息(例如以类似上述的双周期act+命令的方式工作)。因为新的act+命令自身可要求指定明显多于act命令(其在ddr4中具有专用命令位)的位,可用地址位的余下数量可稍微小于(例如10个或12个位而不是18个位)若标准act命令从单周期延长至双周期则将可用的数量。

图3是根据本发明实施方式的使用扩展读取(rd+)命令的示例数据存取操作的示意图。

在诸如图3中所示的其他实施方式中,rd/wr命令(或任何列地址命令)可类似于对于act命令的上述修改而进行修改以携带额外的列信息。例如,dram大小可通过将列大小通过使用rd/wr+命令以指定另外的寻址位(例如另10或12个列寻址位)而从10个列地址位扩大至例如20或22个列地址位来扩充,而不增加引脚成本或引脚数。这些技术的两者之一(或两者结合使用)可显著增加存储芯片寻址能力(例如至tb大小或更多)而无任何引脚成本或引脚数的改变。

act+或rd/wr+的特定实施不需要固定在dimm中。例如,在一些实施方式中,使用哪个扩展的act命令或扩展的rd/wr命令系统(如果有)可在初始化中做出选择(并可在之后的初始化中改变)。

包括图4a和图4b的图4是根据本发明实施方式的使用背靠背ras/cas命令序列的示例数据存取操作的示意图。虽然ras可能本来已表示“行地址选通”而cas表示“列地址选通”,正如本文中所使用的那样,这些术语多半指再存储芯片读取或写入操作中分别提供行地址和列地址。另参见图6和下面的描述,例如双cas(例如背靠背cas)序列以提供额外的地址位。

图4示出了另外的技术以提供额外的行/列信息,即使用新的背靠背ras/cas系统。在该机制中,定义了新的rd/wr(cas),以便另外未使用的地址位(列或行)可携带扩展的地址信息,并且可比标准rd/wr命令更快地提供命令。例如,在ddr4中,高阶行地址位中的三个连同用于与rd和wr指令一起使用的cas位都是可用的。又例如,下面的存储装置可支持比10个列地址位提供的更少的列,所以这些额外列地址位中的一些可再分配以携带扩展的行地址位。

再例如,为动态控制列地址命令中可选的特征(比如即时数据突发长度)提供的高阶行地址位可重新目的化为额外的扩展地址位和默认为其静态设置的特定动态特征。

与这些列地址改变一起,可引入新的定时参数和修改的act及rd/wr定时相关性以支持重新目的化的rd/wr命令。这些示出在图4a和图4b中,图4a示出了标准rd/wr协议(rd/wr指令由rd表示),图4b示出了修改的ras/cas命令序列。

更详细地,在ddr4中,如图4a中所示,act命令提供了行地址(ras,18位),而随后的rd/wr命令提供了列地址(cas,10位)。这28(18+10)个位与不超过4个体位一起在构成rank(例如4、8或16个存储芯片)的每个dram芯片中寻址数据宽度(例如4、8或16个位)用于该rank的特定(例如64位)读取或写入存取。然而,通过背靠背发送ras或cas,专用于ras和cas的位与任何未使用的地址位(例如像rd或wr的cas命令中的三个未使用的行地址位)可重新配置为提供在不同的格式或故障中寻址的扩展的行或列,比如充分利用具有除ddr4中架构的那些之外的不同行和列布置的存储芯片。

此外,对于扩展的行地址,存储装置可配置为初始存取act命令中指定的所有行(例如带有18个可用的行地址位,以避免在存取数据中的延迟),减少在(可能立即)接着的rd命令中通过剩余的(扩展的)行地址位的选择。例如,存储装置可具有用于能够借助最前的18个行地址位寻址的每个可能的行的行缓冲区。在另一实施方式中,存储装置可开始加载所有这样的行至单个行缓冲区中,但一旦提供了行地址的剩余部分则只允许实际的行加载至行缓冲区中。

例如,借助可用于在背靠背ras/cas命令序列中寻址的31个位(18个ras+10个cas+3个未使用的),可在act命令中提供扩展的行地址的18个位,随后是在紧接着的rd/wr命令中的扩展的行地址的剩余的10个位连同3位(例如8个列)列地址。总寻址能力从而增加了8倍而引脚数无任何增加,并且下面的行和列大小可调节至更好地适应下面的存储芯片计数(比如pram)。换言之,在一些实施方式中,ras可仅携带部分行地址,而cas(可能通过一些未使用的地址位扩展)可携带其余的扩展的行地址连同列地址(或反之用于扩展的列地址,如可用在其他实施方式中的那样)。

此命令序列修改可需要修改由存储控制器使用的定时参数以存取存储模块。例如,在ddr4中,trcd和tcl可受到影响。此处,trcd(又称ras至cas延迟)是指act命令与第一个随后的rd或wr命令可服务的定时之间的(例如正如从act命令的开始(或结束)至rd/wr命令的对应的开始(或结束)所测量的)最大定时(例如时钟周期)。此外,tcl(或tcas,又称cas时延)是指提供cas与列的第一个数据存取在数据总线上可用的定时之间的定时。在图4b中,trcd将短于实际数据感知定时,数据感知定时的一部分将由tcl覆盖,因此tcl变得更长。在图4b中,应注意的是,总trcd+tcl定时与图4a中相同(例如trcd可缩短由tcl延长的相同量)。

为有助于避免图4b中更长tcl定时的性能问题,比如开放-页面(开放-行)策略,在一些实施方式中,可定义新的定时参数tcl_l(长)和tcl_s(短)。此处,tcl_l(例如图4b中所示的tcl)可与trcd一起使用以首先存取页面内的列,tcl_s可用于随后的用于开放页面的行缓冲区(例如相同行,不同列)存取。这相似或类同于在有长的或短的区别(例如trrd_l和trr-s)的ddr4中已出现的一些定时参数;存储控制器可保持追踪何时使用tcl_l或tcl_s。对于这种实施可不需要额外的命令,并且存储元件不需要知道不同的tcl。

图5是根据本发明实施方式的使用背靠背cas/cas(双cas)命令序列的示例数据存取操作的示意图。

在图5中,两个cas命令(例如背靠背cas或双cas命令,如作为示例示出的两个rd命令,rd和rd+)可用于扩展地址。例如,cas命令的一者或两者可提供额外的(扩展的)地址位。该分配可基于下面的存储装置配置,将地址位移动至两个cas命令中较适当者以利用存储装置的特征。例如,如果存储装置支持带有多于可用单个cas命令寻址的列的大行,额外的列地址位可在第一个cas命令中提供,以起到将大行的每一个有效划分为许多小行的“逻辑行”地址扩展的作用,其每一个都是在标准构架下的最大的可能的行大小。然后第二个cas命令可起到类似标准cas命令的作用。

对于另一示例,如果存储装置支持非常大量的小行(例如多于原本可寻址的行),第一个cas命令可为用于在行内选择特定列的标准cas命令,借助用于匹配初始ras命令的每个可能的对应的行地址的行缓冲区。然后第二个cas命令可用作行缓冲区的选择,以选择哪个行缓冲区实际提供(或接收)数据。在还一实施方式中,扩展的行地址位可以其他逻辑方式布置(例如在双cas命令内重新分配)以利用增加的寻址能力。

图6是根据本发明其他实施方式的使用背靠背ras/cas或cas/cas命令序列的示例数据存取操作的示意图。

在这里,两个cas命令(例如背靠背cas或双cas命令,如作为示例示出的两个rd命令)可用于比在图4b的实施方式中更进一步地扩展地址。图6中的第二个rd命令示出为rd+命令。类似于上述的参照图2b的act+命令,额外的命令可用于提供额外的地址位,比如另外10或12个地址位。这也可与先前技术相结合。

作为无限制的示例,rd+命令可用于提供列地址,借助提供扩展的行地址的剩余的行地址位的第一个rd命令。在另一实施方式中,rd+可用于提供扩展的列地址的剩余的地址位,借助第一个rd命令提供初始列地址位。在又一实施方式中,第一个rd可紧接着act命令(例如提供额外的行地址位及可能提供一些列地址位作为部分背靠背ras/cas序列),而rd+(或第二个rd)可延迟至正常列存取定时以提供全部或部分列地址。

在再一实施方式中,地址位(比如列地址位)可视情况重新分配在两个cas(比如rd或wr)命令之间以适应下面的硬件。例如,对于其(扩展的)列地址不适合单个命令的相同(宽度的)行的连续存取可具有跨越一对连贯的rd或wr(cas)命令分割的扩展的列地址。

虽然图6示出act、rd和rd+命令是连续的,但在相邻的命令之间可有延迟或间隙,比如在act和rd命令之间,或在rd和rd+命令之间,取决于实施方式。

图7是根据本发明实施方式的用于示例扩展读取(rd+)命令的ddr4sdram真值表。

参照图7,rd+命令旨在通过两个命令周期传送。在此示例中,rd+命令可在初始化时配置并可通过利用第三芯片id位c2与rd命令加以区别(例如对于rd+的c2=h而对于rd的c2=l)。虽然这可将堆栈式存储芯片限制到只有四个,但在其他实施方式中,不同的位可用于区分两个命令。此外,在图7中,即时突发模式位bc_n还可重新目的化成其扩展的地址位a12定义。虽然这可禁用即时突发模式选择,突发模式仍可通过模式寄存器设置按需更改,并且在其他实施方式中,不同的位可用于扩展地址。

因此,图7的rd+命令可传送除通常十个列地址(ca)位、两个体组(bg)位和两个体地址(ba)位以外的四个额外的扩展地址(ea)位。ea位可用于例如指定在act命令或10位ca中指定的18位行地址(ra)以外的其他行或列地址信息。

此外,图7的rd+命令具有紧接着第一命令周期的第二命令周期,这次使用未使用的命令代码(在ddr4架构中识别为留作将来使用,或rfu),连同二位优先字段及10-位读取id(rid)字段(图7中所示的三个剩余的位也是rfu)。当存储装置具有与ddr4架构中所占的相比的额外的容量或存储空间(例如较多行或缓冲区)时,优先和读取id字段可提供例如额外的信息(例如额外的地址位或缓冲区选择位)至存储装置。

图8是根据本发明实施方式的存储芯片的示例行组织的示意图。

在一些实施方式中,提供额外的行/列信息而不增加引脚数或引脚成本的额外技术可为采用多行缓冲区组织。这里,存储装置可具有新的内部组织以支持额外地址索引,并可利用新的rd/wr(cas)命令系统以传达额外信息(比如重新目的化其他未使用的cas位以指定部分扩展行地址)。

更详细地,如图8中所示,仅带有一个缓冲区(行缓冲区)815的相较“窄而高”的存储阵列810(例如许多行但相对较少列)可分解为仅由多个较小阵列830的类似架构820(其每个都为“窄而短”,具有少于存储阵列810的行但相同数量的列),每个都具有其自己的缓冲区(行缓冲区)835。例如,存储阵列810可具有多于可正常寻址的行(例如多于17或18个位的地址空间),而阵列架构820可具有其所有行都可寻址的阵列830(例如少于或等于17或18个位的地址空间)。

为了寻址并存取这些行缓冲区835,在一些实施方式中,带有用于目标数据阵列的行地址的act可发送至每个小阵列830。每个阵列830通过将信息从该行放入其自己的缓冲区835的方式响应。然后可发送带有列地址和阵列id的rd/wr,这将读取/写入数据至目标阵列830的缓冲区(比如图8中所示的最底下的阵列830)。换言之,扩展的行地址可通过提供act命令中的低阶行地址位(行id)和用rd/wr命令的高阶行地址位(阵列id)来支持(比如在cas字段的未使用部分或其他未使用的地址位,例如图7的rd+命令中的ea或rid位)。这可借助其他技术存储芯片(比如pram)提供显著增加的容量而不添加引脚数、引脚成本或从发出act命令至从相应的行存取第一数据的延迟。

此外,对于同一组行的其他rd/wr命令(例如共享相同的行id)可通过使用相同的未使用位(例如ea、rid、未使用的ca)而不用另一act命令来完成以指定不同的阵列id(其缓冲区将已从初始act命令加载)。

图9是根据本发明实施方式的用于示例扩展写入(wr+)命令的ddr4sdram真值表。

参照图9,wr+命令是单周期命令。在此示例中,rd+命令可在初始化时配置并可通过利用第三芯片id位c2与rd命令加以区别(例如对于rd+的c2=h而对于rd的c2=l)。虽然这可将堆栈式存储芯片限制到只有四个,但在其他实施方式中,不同的位可用于区分两个命令。此外,在图7中,即时突发模式位bc_n还可重新目的化成其扩展的地址位a12定义。虽然这可禁用即时突发模式选择,突发模式仍可通过模式寄存器设置按需更改,并且在其他实施方式中,不同的位可用于扩展地址。

因此,图9的wr+命令可传送除通常十个列地址(ca)位、两个体组(bg)位和两个体地址(ba)位以外的四个额外的扩展地址(ea)位。ea位可用于例如指定在act命令或10位ca中指定的18位行地址(ra)以外的其他行或列地址信息。

图10是根据本发明实施方式的存储芯片的示例列组织的示意图。

正如图8的多行缓冲区组织,提供额外的行/列信息而不增加引脚数或引脚成本的额外技术可为采用如图10中所示的多行缓冲区组织。这里,存储装置可具有新的内部组织以支持额外地址索引,并可利用新的act(ras)命令系统以传达额外信息(比如重新目的化其他未使用的ras位以指定部分扩展行地址)。

更详细地,如图10中所示,仅带有一个缓冲区(行缓冲区)1015的相较“窄而高”的存储阵列1010(例如许多行但相对较少列)可分解为仅由多个较小阵列1030的类似架构1020(其每个都为“窄而短”,具有少于存储阵列1010的列但相同数量的行),每个都具有其自己的缓冲区(行缓冲区)1035。例如,存储阵列1010可具有多于可正常寻址的列(例如多于10个位的地址空间),而阵列架构1020可具有其所有列都可寻址的阵列1030(例如少于或等于10个位的地址空间)。

为了寻址并存取这些行缓冲区1035,在一些实施方式中,带有用于目标数据阵列的(相对较小的)行地址的act可发送至每个小阵列1030,其可用所需的行依次加载其对应的行缓冲区1035。此外,可提供列地址和阵列id(例如在一个或两个随后的cas命令中,或可能作为部分act命令及一个或两个随后的cas命令)以识别阵列1030内所需的列及所需的阵列1030(比如来自图10中所示左侧的第三阵列1030)。

换言之,扩展的列地址可通过提供act命令中的行地址位(行id)和随后的rd/wr命令中的低阶列地址位(列id)和高阶列地址位(阵列id)来支持,也可能利用act命令中的任何未使用的地址位(比如提供act命令中的阵列id)。这可借助一些存储芯片(例如那些经受大量列考验的)提供显著增加的容量而不添加引脚数、引脚成本或从发出act命令至从相应的列存取第一数据的延迟。这些技术和其他技术还可在适用的情况下结合,比如将开放页面与宽列结合,以便对于相同宽行的随后的存取(例如对于相同的或不同的阵列id)可在正常的cas延迟(tcl)定时完成,不发生另一ras延迟。

图11是根据本发明实施方式的寻址存储装置的示例方法的流程图。

在这里,存储装置可旨在使用特定架构(比如ddr4sdram)来存取,而装置比在正常配置中架构支持(例如能够寻址)的具有更多的行或更多的列。然而,根据本发明实施方式,存储装置中的行可使用扩展的行地址来存取或者存储装置中的列可使用扩展的列地址来存取,并且这些地址都适合下面架构的组合的行地址和列地址的部分(例如在两个或更多的连续ras/cas命令中)。

参照图11,在步骤1110中,当行地址具有太多位时(例如存储装置具有多于架构支持的行),行地址位可分割为第一子集和第二子集,在行地址命令(例如act)中指定第一子集,在下一地址命令(例如act+或rd/wr)中指定第二子集。在步骤1120中,行地址命令可发出为存储装置的行的行存取的全部或部分。例如,当存储装置具有少于架构支持的行时,整个行地址可在行地址命令中指定,而如果存储装置具有多于架构支持的行,只有部分行地址(例如第一子集)可在行地址命令中指定,剩余的行地址(例如第二子集)在下一地址命令中指定。

同样地,在步骤1130中,当列地址具有太多位时(例如存储装置具有多于架构支持的列),列地址位可分割为第三子集和第四子集,在列地址命令(例如rd/wr或dr/wr+)中指定第四子集,在前一地址命令(例如act、act+或rd/wr)中指定第三子集。在步骤1140中,列地址命令可发出为行的列存取的全部或部分。例如,当存储装置具有少于架构支持的列时,整个列地址可在列地址命令中指定,而如果存储装置具有多于架构支持的列,只有部分列地址(例如第四子集)可在列地址命令中指定,其余的列地址(例如第三子集)在下一地址命令中指定。

如果存储装置中需要的地址位(行和列)的总数量不大于可在行地址命令(例如act)和列地址命令(例如rd/wr)中指定的,则下一地址命令可为列地址命令或前一地址命令可为行地址命令(例如带有如上所述的背靠背ras/cas)。就是说,两个地址命令(可能背靠背)可足以寻址存储装置。

另一方面,如果存储装置中需要的地址位(行和列)的总数量大于可在行地址命令(例如act)和列地址命令(例如rd/wr)中指定的,则下一地址命令或前一地址命令(例如act+或rd/wr)可在行地址命令和列地址命令之间发出。例如,下一地址命令和前一地址命令可为相同的命令,并可指定扩展的行地址位或扩展的列地址位或可能两者兼有。该下一地址命令还可紧接着行地址命令或紧先于列地址命令(例如在如上所述的背靠背cas/cas中)。

总之,本发明实施方式针对用于类sdram的架构的新命令和定时定义,这可实现比现有sdram架构更好的寻址能力。例如,一些实施方式可针对新的存储组织和地址定义,这可实现比现有sdram架构更好的寻址能力。此外,其他实施方式可针对可配置的地址扩展方法(例如可在存储芯片初始化或通电时启用)。这些实施方式可支持大容量存储器而不增加引脚数或引脚成本。这些实施方式还可改善地址引脚复用性。

虽然已阐示并描述了本发明的某些实施方式,但本领域普通技术人员可理解,能够对所述实施方式进行某些修改和变化而不背离如由所附权利要求所定义的本发明的精神和范围及其等同物。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1