用于管理隐式预充电命令信令的方法、设备和系统与流程

文档序号:12512799阅读:409来源:国知局
用于管理隐式预充电命令信令的方法、设备和系统与流程

1.技术领域

本发明涉及存储器设备,更加特别地,涉及对易失性存储器设备的存储器单元的访问。

2.

背景技术:

计算系统通常依赖存储器设备来存储信息。这样的存储器设备可以被划分成两种一般类型。第一,需要电力来维持所存储的信息的正确性的易失性存储器设备。第二,即使在切断电力之后也能维持所存储的信息的非易失性存储器设备。

一种常见类型的易失性存储器设备是动态随机存取存储器(DRAM)。DRAM设备通常提供超过机械存储设备(例如,硬盘)的显著改进的性能,同时与其他存储器技术(包括并且最显著地,静态随机存取存储器(SRAM)设备)相比,其提供较低的成本、较高的存储密度、以及较小的功率消耗。然而,这些好处以在访问构成DRAM设备的存储器单元时导致各种延迟为代价,这些延迟每隔固定的间隔发生,并且在紧邻从存储器单元读取数据或者将数据写入存储器单元的每次访问之前和之后的时段中发生。

DRAM通常将每比特的数据存储在集成电路内的分离的电容中。由于电容漏电,信息最终消失,除非周期性地刷新电容的电荷。由于该刷新要求和其他设计考虑,DRAM设计师对于DRAM内的操作施加各种时间约束以维持正确性。一种这样的约束是预充电要求。特别地,当请求访问DRAM中的不同的行(也被称为位线(BL))时,必须首先通过发出“预充电”命令来去激活当前行。预充电命令将使得感测放大器断开并且使得位线被预充电以与作为高逻辑电平和低逻辑电平之间的中间值的电压相匹配。在某一行预充电时段延迟(也被称为tRP)之后,可以发出“激活”命令来激活待访问的下一行。

附图说明

在附图的图中作为示例而非限制示出了本发明的各种实施例,并且其中:

图1示出了根据实施例的用于提供存储器访问的系统的元件的高级功能框图。

图2示出了根据实施例的用于生成存储器访问命令的存储器控制器的元件的高级功能框图。

图3示出了根据实施例的响应于存储器命令而提供对存储器资源的访问的存储器设备的元件的高级功能框图。

图4示出了根据实施例的用于操作存储器设备的方法的元素的流程图。

图5示出了根据实施例的用于生成存储器控制命令的方法的元素的流程图。

图6示出了根据实施例的显式预充电命令信令的交换的元素的时序图。

图7示出了根据实施例的隐式预充电命令信令的交换的元素的时序图。

图8示出了根据实施例的用于访问存储器资源的计算系统的元件的高级功能框图。

图9示出了根据实施例的用于访问存储器资源的移动设备的元件的高级功能框图。

具体实施方式

在本文中不同地讨论的实施例提供了用于限制将至少一种类型的统一命令从存储器控制器传送至存储器设备的技术和/或机制。在一个这样的实施例中,存储器控制器包括电路,该电路用于接收指示可以在任何给定时间在存储器设备处未决的统一命令的阈值数目的信息。该阈值数目可以区别于(例如,小于)同时未决的统一命令的理论最大数目。这样的理论最大数目可以例如基于表征存储器设备的操作的时间参数来定义。

在本文中关于在本文中被称为“统一激活/隐式预充电”命令(或简称为“ACT/iPRE”命令)的特定类型的统一命令而讨论了某些实施例。然而,根据不同实施例,这样的讨论可以扩展至或者额外地或可替代地应用至多种其他类型的统一命令中的任何一种。统一ACT/iPRE命令用于向存储器设备显示地指定激活操作的执行,所述激活操作例如,打开存储器的一行。然而,由于在存储器设备处可用的功能性,可以将包括在这样的统一ACT/iPRE命令中的提示信息进一步解译为隐式地命令额外的预充电操作的执行,所述预充电操作例如,关闭已打开的存储器的不同行。

是刷新操作、预充电操作、激活操作、以及其他维护操作施加了作为采用DRAM技术的结果而遭受的各种延迟。这些延迟具有限制数据可以写入DRAM设备或从DRAM设备读取的速率的作用。此外,根据DRAM时间约束来协调存储器访问的电路使用有价值的集成电路(IC)基板面积(real estate)并且增加生产成本。尽管现有的存储器设备包括用于支持共同未决的ACT/iPRE命令的电路,但是传统的存储器架构设计不考虑以下的可能性:(在支持共同未决的ACT/iPRE命令的情况下)这样的电路可能支持小于基于存储器设备的时间参数而由存储器控制器另外定义的ACT/iPRE命令的理论最大数目。迄今为止,以下情形已经被普遍承认为设计约束:其中存储器设备必须适应存储器控制器根据存储器设备的时间参数可潜在地发送的ACT/iPRE命令的理论最大数目。

某些实施例由于以下认识而产生:可提供用于对共同未决的ACT/iPRE命令的可允许的数目设置限制的机制,该可允许的数目小于基于时间参数所定义的理论限制。这样的实施例使得存储器设备能够避免在空间效率和/或其他资源效率方面的收益递减,该收益递减与在存储器设备处为逐渐增加数目的共同未决的ACT/iPRE命令提供支持相关联。

图1示出了根据实施例的用于交换访问存储器资源的命令的系统100的元素。系统100可以包括耦合至存储器控制器120的存储器设备110,例如其中,存储器控制器120用于为包括在系统100中或者耦合至系统100的主处理器140提供对存储器设备110的访问。

存储器设备110可以包括例如具有多行存储器单元的多种类型的存储器技术中的任何一种,其中数据可以经由字线或等效物来访问。在一个实施例中,存储器设备110包括动态随机存取存储器(DRAM)技术。存储器设备110可以是系统100的较大的存储器设备(未示出)内的集成电路封装。例如,存储器设备110可以是诸如双列直插存储器模块(DIMM)之类的存储器模块的DRAM设备。

存储器设备110可以包括存储器资源114,其表示存储器的一个或多个逻辑和/或物理分组。存储器的一个这样的分组的示例是存储器资源的库,其例如可以包括以多列和多行布置的存储元件的阵列。存储器设备110可以包括用于至少部分地促进对存储器资源114的访问的访问逻辑118,例如,其中提供这样的访问以对来自存储器控制器120的一个或多个命令进行服务。访问逻辑118可以包括根据传统技术来提供资源访问的存储器设备110的逻辑,或结合该逻辑进行操作,例如,其中阈值指示逻辑112、监测逻辑116、和/或存取逻辑118的功能给这样的传统技术补充了在本文中所讨论的额外的功能。例如,阈值指示逻辑112可以传送指示存储器设备110的未决的ACT/iPRE命令的阈值数目的信息。可替代地或另外地,监测逻辑116可以检测到给定的ACT/iPRE命令指示待执行的激活操作和待执行的预充电操作两者。

存储器控制器120可以通过由说明性命令/地址(CA)总线165所表示的一个或多个总线而将命令或指令发送至存储器设备110。这样的命令可以由存储器设备110来解译,例如包括解码用于执行存储器内的多种访问功能的命令信息和/或解码具有行逻辑和/或列逻辑的地址信息的存储器设备110。例如,这样的逻辑可以利用列地址选通或信号(CAS)和行地址选通或信号(RAS)的组合来访问存储器资源114中的具体单元。存储器的行可以根据已知的存储器架构或其衍生物来实现。简言之,存储器资源114的行可以包括存储器单元的一个或多个可寻址列,它们是由由存储器110的列逻辑所生成的CAS所标识的。每个行可以是经由由存储器110的列逻辑所生成的RAS来不同地寻址的。

对存储器资源114的访问可以是出于经由耦合至存储器110的I/O电路(未示出)的数据总线来写入经交换的数据和/或读取待交换的数据的目的。例如,N数据总线信号线DQ(1:N)160可以将这样的I/O电路耦合至存储器控制器120和/或一个或多个其他存储器设备(未示出)。

在实施例中,存储器控制器120包括用于经由CA 165来发送命令的命令逻辑135——其例如包括多种硬件逻辑和/或执行软件逻辑中的任何一种逻辑。命令逻辑135可以包括或者耦合至存储器控制器的逻辑,所述逻辑执行操作以生成、传输、或以其他方式来确定根据一个或多个传统技术来发送的命令。作为说明而非限制,命令逻辑135可以补充其他传统的命令/地址信令功能,例如符合诸如2012年9月的DDR4SDRAM JEDEC标准JESD79—4等之类的双数据速率(DDR)规范的要求中的一些或全部要求。例如,存储器控制器120可以包括监测逻辑130,所述监测逻辑130包括被配置为确定待由命令逻辑135所断言(例如,从其发送)的命令信令的类型的电路和/或执行软件。监测逻辑130可以控制这样的命令信令来适应存储器110的有限的命令响应能力。

在实施例中,监测逻辑130包括、保持、或者以其他方式能够访问指示存储器110的命令响应能力的信息、指示存储器110内的未决的操作的状态的信息、和/或指示一个或多个还未被服务的对存储器设备110的访问的信息。这样的信息可以提供对存储器设备110的给定的库中的待访问的行是否已打开的指示,以及如果没有,则提供对同一库中的不同的行是否已打开的指示。如果待访问的行被确定为已经打开,则可以在不传输行激活(ACT)命令的情况下实行访问。然而,如果待访问的行被确定为尚未打开,则命令逻辑135可以向存储器设备110传输激活命令(例如,行激活命令),其包括指定由所述命令作为目标的库是否包括当前打开的行的值。这样的值(在本文中被称为提示信息)可向存储器设备110指示其将在内部生成其自己的隐式预充电(iPRE)命令以执行预充电操作从而关闭当前打开的行,例如与存储器设备110接收任何显示命令以执行这样的预充电操作无关。可替代地或另外地,监测逻辑130(和/或存储器控制器120的其他逻辑)可以访问这样的信息以确定例如多少具有特定的类型的命令当前在存储器110处是未决的,例如,其中未决的命令是存储器110已经接收但还未完成服务的命令。

可替代地或另外地,存储器设备110可以包括用于评估经由CA 165所接收的命令中的一些或全部命令的监测逻辑116,例如用于确定命令是否进一步隐式地指示另一个命令将由存储器设备110内部地生成。作为说明而非限制,监测逻辑116可以确定命令是否将包括当前是打开的页的库作为目标。将这样的库作为目标被称为“页丢失事件”(或者为了简便起见,简称为“页丢失”)。响应于监测逻辑116识别与经由CA 165所接收的命令相关联的页丢失事件,监测逻辑116可执行操作来准备访问由命令作为目标的存储器资源。如在本文中所讨论的,这样的操作可以包括存储器设备110内部地生成信令以代替从存储器控制器120所接收的一个或多个命令而起作用。例如,存储器110可以向访问逻辑118提供信号,所述信号在功能上在一个或多个方面与来自存储器控制器120的预充电(PRE)命令等效。从而,访问逻辑118可以执行操作来对存储器资源114的行(或多个行)预充电,这与存储器110接收指定这样的预充电操作的任何显式PRE命令无关。

为了简便起见,在本文中使用“ACT/iPRE”来指代向存储器设备隐式地指示iPRE也是待实现的(除了所指示的激活操作以外)的ACT命令。由存储器设备来服务这样的ACT/iPRE命令需要监测电路确保不违反存储器设备的时间约束。例如,这样的约束可以包括表示执行存储器预充电操作的所需时间的时间参数tRP和/或表示连续的激活操作之间所需的时间的时间参数tRRD。时间要求可以对在存储器设备处可以同时未决的ACT/iPRE命令的总数施加理论限制。作为说明而非限制,共同未决的ACT/iPRE命令的总数可以基于在tRRD时段期间可以完成的tRP时段的总数。

图2示出了根据实施例的用于基于对存储器设备的命令响应能力的所识别的限制来生成存储器访问命令的存储器控制器200的元件。存储器控制器200可以控制对诸如存储器设备110的那些存储器资源之类的存储器资源的访问。在实施例中,存储器控制器包括存储器控制器120的特征中的一些或全部特征。

图2可以包括用于接收针对访问存储器设备(未示出)的请求的电路,如由说明性读请求队列215和写请求队列220所表示的。来自读取请求队列215的读取请求和来自写请求队列220的写请求可以被提供给命令电路230,所述命令电路230被配置为选择、调度、和/或以其他方式确定响应于这些请求来实现存储器访问的命令。模式选择电路225可以例如至少部分地基于耦合至存储器控制器200的存储器设备(例如,IC管芯,未示出)的状态来确定命令电路230是否应处于多个可能的模式中的一个模式。在这样的第一模式中,命令电路230可以将预充电(PRE)命令和激活(ACT)命令作为分别的单个命令进行调度。在这样的第二模式中,命令电路230可以替代地调度统一ACT/iPRE命令。由命令电路230所调度的命令可以由发射机240提供至将存储器控制器耦合至存储器设备的链路205。发射机240是至链路205的I/O接口的一个示例。存储器控制器200还可以包括用于经由链路210从存储器设备接收信号的接收机245。根据各种实施例,可以存在存储器控制器的额外的模式。

在一些实施例中,存储器控制器200包括监测电路235,其被配置为监测耦合至存储器控制器200的存储器设备的活动和/或其他状态,并基于所述监测,提供指示状态的状态指示符。在不同的实施例中,监测电路235与不同电路接合。虚线示出了不同的实施例的不同的可能性。例如,在一些实施例中,监测电路235监测与命令电路230相关联的信号,在其他实施例中,监测电路235监测与发射机240相关联的信号,并且在其他实施例中,监测电路235监测与接收机245相关联的信号。在其他实施例中,监测电路235可以监测与其他电路和/或命令电路230、发射机240、和/或接收机245的组合相关联的信号。

由监测电路235所提供的状态指示符可以是单个信号,例如单比特或多比特数,或者其可以是指示与电路相关联的信号的不同方面的信号的组合。在一些实施例中,监测电路235将状态指示符直接地提供给模式选择电路225,并且在其他实施例中,存在中间电路。

以下是所监测的状态和所提供的状态指示符的一些示例。在一些实施例中,利用监测电路235来进行监测包括监测例如经由链路205从存储器控制器200发送至给定的存储器IC或其他存储器设备的统一ACT/iPRE命令。可替代地或另外地,这样的监测可以包括监测响应于所述统一ACT/iPRE命令而接收的确认和/或其他响应,例如,其中这样的确认和/或其他响应是经由链路210接收的。对于一些或全部这样的ACT/iPRE命令中的每个命令,监测电路235可以监测从ACT/iPRE命令的通信和/处理的特定阶段已经终止以来的一段时间。可替代地或另外地,这样的监测可以包括保存在特定的存储器设备处的当前未决(例如,已接收但是尚未服务)的统一ACT/iPRE命令的总数的计数。

在实施例中,模式选择电路225接收或以其他方式检测信息,所述信息指示针对特定的存储器设备,可以在任何给定的时间在该存储器设备处当前未决的统一ACT/iPRE命令的阈值总数。基于这样的信息,模式选择电路225可以包括(例如,存储)这样的阈值数目的值、能够访问这样的阈值数目的值、或者以其他方式基于这样的阈值数目的值而被配置,如由说明性TR 255所表示的。作为说明而非限制,可以响应于在(例如)制造、封装、组装、或生产包括存储器控制器200和存储器设备的系统的其他处理的阶段期间由存储器控制器200所接收的通信而确定TR 255。通信250可以是例如经由链路210从存储器设备本身接收的,尽管某些实施例在该方面中没有限制。在另一实施例中,通信250是在作为存储器系统的一部分的存储器控制器200的操作期间接收的。例如,存储器控制器200可以在这样的系统的启动、唤醒、或其他电源状态转换期间接收通信250。

在不同的实施例中,存储器控制器200可以使用不同的方法来决定是处于第一模式还是第二模式。例如,监测电路235可直接地或间接地向模式选择电路225提供状态指示符,该状态指示符指示在耦合至存储器控制器的特定的存储器设备(例如,存储器IC)处的当前未决的ACT/iPRE命令的当前总数。基于这样的状态指示符,模式选择电路225可以评估存储器设备当前是否能够接收下一ACT/iPRE命令。在一些实施例中,模式选择电路225将由监测电路235所提供的状态指示符与TR 255比较。如果状态指示符与TR 255具有第一关系(例如,大于或者大于或等于),则配置命令电路230的第一模式,在该模式期间利用ACT命令和不同于该ACT命令的显式PRE命令来执行用于指示激活操作和预充电操作的命令信令。如果状态指示符与TR255具有第二关系(例如,小于或者小于或等于),则配置命令电路230的第二模式,在该模式期间使用统一ACT/iPRE命令来指示激活操作和预充电操作两者。

图3示出了根据一些实施例的存储器设备300的细节,尽管本发明不限于这些细节。存储器设备300表示用于向存储器控制器(未示出)传送存储器设备的共同未决的统一ACT/iPRE命令的最大可允许的数目的存储器芯片、封装、或其他这样的设备的一个示例。这样的最大可允许的数目可以小于例如存储器控制器否则可以基于存储器设备的时间约束来操作的理论最大值。在一个实施例中,可以包括存储器设备110的特征中的一些或全部特征的存储器设备300例如可以与存储器控制器200交换阈值信息。

如在图3中所示,来自链路305的信号可以由接收机310接收并且不同地提供给组件以促进对存储器设备300的存储器资源的访问。作为说明而非限制,写访问信息可以被传送至信号分离电路315,其包括提供至写缓冲器(WB)330的写数据和提供至命令处理电路320的一个或多个命令。写数据可以保存在写缓冲器330中,直到相关联的命令和地址使得其被写入到库335中为止。库335可以包括相应的存储器阵列并且还包括或耦合至各种其他电路(例如感测放大器、行和/或列解码器、和/或类似电路),以提供对这样的存储器阵列的访问。解码器也可以被包括在库335之前。一些实施例不包括用于以该方式保持写数据的写缓冲器。在读访问中,库335将读数据返回至内部数据链路340。发射机345接收来自链路340的读数据并将其提供至外部链路350。

如果特定的接收到的命令是单个激活(ACT)命令,则命令处理电路320则将特定的ACT命令作为单个命令提供至库335。然而,如果读或写命令是统一ACT/iPRE命令,则命令处理电路320将统一ACT/iPRE命令转换成两个单个命令,即,ACT命令和不同的iPRE命令,其中每个分别地被提供至库335。

在给定的时间处,对多个统一ACT/iPRE命令的服务可以在存储器设备300处同时地发生。命令处理电路323包括或耦合至如由示例性追踪器逻辑325所表示的电路,其用于确定对iPRE命令和/或ACT命令的断言是如何基于从存储器控制器接收的统一ACT/iPRE命令而进行的。这样的追踪器逻辑可以包括例如注册表,其包括针对每个未决的统一ACT/iPRE命令的条目。每个这样的注册表可以存储指示待针对对应的统一ACT/iPRE命令而断言的ACT命令的地址和/或定时器信息(或其时间)。追踪器逻辑325还可以包括监测电路,其用于针对每个未决的统一ACT/iPRE命令,不同地检测允许断言这样的ACT命令的时段是否已终止。

某些实施例允许存储器设备300向诸如存储器控制器的主机传送可允许的共同未决的统一ACT/iPRE命令的总数小于否则可以根据存储器设备300的时间参数来实现的理论最大数目。作为说明而非限制,存储器设备300可以包括能力逻辑360(例如,阈值指示逻辑112),其包括存储或者以其他方式提供指示存储器设备300的命令响应能力的信息的电路。例如,能力逻辑360可以包括或者以其他方式能够访问值TR 365,其指定或者以其他方式指示可允许的共同未决的统一ACT/iPRE命令的总数。

例如,TR 365可以指定可允许的共同未决的ACT/iPRE命令的最大总数。可替代地或另外地,TR 365可以指定制造号、型号、或其他特定于产品的标识符,其中存储器控制器包括或者以其他方式能够访问参考信息(例如,查找表)以将这样的标识符与可允许的共同未决的统一ACT/iPRE命令的阈值数目相对应。根据不同实施例,可以将多种其他值中的任何值额外地或可替代地包括在TRR 365中,以促进在存储器控制器处对这样的阈值信息的识别。能力逻辑360可以检测存储器设备300与主机的连通性,并且作为响应,在通信370中将TR 365发送至存储器控制器。通信370可以例如经由外部链路350来进行交换。

图4示出了根据实施例的用于配置存储器访问的方法400的元素。方法400可以是由例如包括系统100的特征中的一些或全部特征的存储器系统来执行的。在一个实施例中,方法400包括在存储器设备处执行的操作410以及在耦合至这样的存储器设备的存储器控制器处执行的操作440两者。然而,在可替代的实施例中,方法400仅包括操作410或仅包括操作440。

操作410可以包括在420处检测存储器设备与存储器控制器的连通性。在420处的检测可以在存储器系统的制造、组装、或其他生产阶段期间进行。可替代地,在420处的检测可以在存储器系统的电源状态转换期间或响应于所述电源状态转换而进行。响应于在420处检测连通性,方法400可以在430处向存储器控制器发送指示命令响应能力的阈值等级的信息。

例如,存储器设备可发送指示在任何给定的时间在存储器设备处可以是未决的统一激活命令的阈值数目的信息。这样的阈值数目可以小于未决的统一激活命令的理论最大数目,例如其中所述理论最大数目可以基于存储器设备的时间参数由存储器控制器以其他方式来识别。在一个实施例中,理论最大数目是基于表示存储器设备执行存储器预充电操作所需要的最少时间的时间参数tRP来定义的。可替代地或另外地,理论最大数目可以是基于表示连续的激活操作之间所需要的最少时间的时间参数tRRD来定义的。阈值数目可以大于一,尽管某些实施例不在该方面进行限制。

在一个实施例中,在430处所发送的指示包括未决的统一激活命令的实际阈值数目。在另一实施例中,在430处所发送的指示包括产品识别编号,其中存储器控制器基于所述产品识别编号来访问参考信息以确定未决的统一激活命令的阈值数目。操作440可以包括:在450处,存储器控制器从存储器设备接收在430处所发送的信息。基于阈值等级的指示,存储器控制器可在460处限制将统一ACT/iPRE命令传送至存储器设备。例如,可由存储器控制器基于所指示的阈值等级以及在存储器设备处未决的统一ACT/iPRE命令的当前总数来对是否发送统一ACT/iPRE命令(例如,而不是发送显式PRE命令和不同的ACT命令)进行确定。

图5是示出了根据实施例的用于控制存储器设备的方法500的特征的流程图。方法500可以由例如存储器控制器120、200中的一个存储器控制器来执行。在实施例中,方法500包括或附加至方法400的操作440。

存储器控制器的命令电路可以考虑要服务的下一个访问请求(操作510)。出于方法500的目的,所考虑的访问请求是以下请求,其中服务需要用于打开存储器中的行以供随后的访问的至少一个激活操作,以及用于关闭存储器中的先前打开的行的额外的预充电操作。可以在520处关于是否需要预充电操作来服务所述请求而进行确定。在520处的确定可以至少部分地基于由在510处取回的访问请求作为目标的存储器中的位置。例如,如果待服务的访问将存储器中的当前打开的行作为目标,则不需要执行预充电操作需求来关闭不同的行,并且方法500可以在550处生成ACT命令(与将执行预充电操作的任何隐式或显式的指示无关)。

然而,如果在520处进行确定指示需要预充电操作,则方法500可以确定是要发送彼此不同的ACT命令和PRE命令,还是要替代地发送统一ACT/iPRE。例如,方法500可以包括存储器控制器的模式选择电路在530处评估在存储器设备处未决的统一ACT/iPRE命令的当前总数是否满足阈值条件。

在一些实施例中,如果在存储器设备处当前未决的ACT/iPRE命令的数目与阈值数目具有第一关系(例如,大于,或者大于或等于),则模式选择电路可以配置命令电路的第一模式。基于该第一模式,方法500可以通过(在540处)发送显式PRE命令,并且接着(在550处)发送不同于显式PRE命令的ACT命令来服务访问请求。然而,如果在存储器设备处当前未决的ACT/iPRE命令的数目与阈值数目具有第二关系(例如,小于,或者小于或等于),则模式选择电路可以配置命令电路的第二模式。基于该第二模式,方法500可以通过在560处发送统一ACT/iPRE命令来服务该访问请求。

图6是示出了根据实施例的激活和预充电命令信令的特征的时序图600。在图6中,两个不同的命令(PRE和ACT)是作为存储器控制器和与其耦合的存储器设备之间的信令610来提供的。这些命令在一些时间后也作为信令620被提供在存储器设备内部的命令链路上。信令610可以响应于确定在存储器设备处未决的统一ACT/iPRE命令的当前总数超过阈值而被交换。时序图示出了时间参数tRP、tRRD的说明性示例,但是对于指示至存储器控制器的阈值而言,所述时间参数可以以其他方式由存储器控制器使用以确定存储器设备的未决的ACT/iPRE命令的最大数目。

图7是示出了以下情况的时序图,其中统一ACT/iPRE命令是作为信令710而在存储器控制器与存储器设备之间的链路上提供的,但是在一些时间后,不同的命令iPRE和ACT是作为信令720a而在存储器设备内部的命令链路上连续地提供的。图6和7上的各种时间仅仅是说明性的而不是在所有的实施例中必需的。

为了示出未决的ACT/iPRE命令的理论最大数目,关于每个都针对相应的假想的共同未决的存储器访问请求的其他信令720b、...、720n的时序而示出了时序图700a。在针对时序图700所示出的示例中,将未决的ACT/iPRE命令的理论最大数目示出为是由适合于未决的统一ACT/iPRE命令的tRRD时段的tRP时段的总数来确定的。在这样的实施例中,理论最大数目Nmax可以例如是由以下等式表示的。

关于给定的存储器IC(或其他存储器设备),某些实施例针对存储器控制器而不同地设置小于这样的理论最大数目Nmax的未决的ACT/iPRE命令的最大数目。

图8是其中可以实现存储器访问的计算系统的实施例的框图。系统800表示根据在本文中所描述的任何实施例的计算设备,并且可以是膝上型计算机、台式计算机、服务器、游戏或娱乐控制系统、扫描仪、复印机、打印机、或其他电子设备。系统800可以包括处理器820,其为系统800提供对指令的处理、操作管理、和执行。处理器820可以包括任何类型的微处理器、中央处理单元(CPU)、处理核心、或者为系统800提供处理的其他处理硬件。处理器820控制系统800的整体操作,并且可以是或者包括一个或多个可编程的通用或专用微处理器、数字信号处理器(DSP)、可编程控制器、应用专用集成电路(ASIC)、可编程逻辑器件(PLD)等,或这样的设备的组合。

存储器子系统830表示系统800的主存储器,并提供针对待由处理器820执行的代码、或者待在执行例程时使用的数据值的临时存储。存储器子系统830可以包括一个或多个存储器设备,例如只读存储器(ROM)、闪速存储器、一种或多种随机存取存储器(RAM)、或其他存储器设备、或这样的设备的组合。存储器子系统830存储并托管操作系统(OS)836等以在系统800中提供用于执行指令的软件平台。额外地,其他指令838从存储器子系统830存储并执行以提供系统800的逻辑和处理。OS 836和指令838是由处理器820执行的。

存储器子系统830可以包括在其处存储数据、指令、程序、或其他项目的存储器设备832。在一个实施例中,存储器子系统包括存储器控制器834,其是根据在本文中所描述的任何实施例的存储器控制器,并且其提供用于访问存储器设备832的机制。在一个实施例中,存储器控制器834向存储器设备832提供命令。所述命令可以使得存储器设备832内部地生成针对存储器资源的激活命令和/或预充电命令。

处理器820及存储器子系统830耦合至总线/总线系统810。总线810是表示任何一个或多个分离的物理总线、通信线路/接口、和/或通过合适的桥接器、适配器、和/或控制器来连接的点对点连接的抽象概念。因此,总线810可以包括例如以下中的一个或多个:系统总线、外围组件互连(PCI)总线、HyperTransport或工业标准架构(ISA)总线、小型计算机系统接口(SCSI)总线、通用串行总线(USB)、或者电气与电子工程师学会(IEEE)标准1394总线(通常被称为“火线”)。总线810的总线还可以对应于网络接口850中的接口。

系统800还可以包括耦合至总线810的一个或多个输入/输出(I/O)接口840、网络接口850、一个或多个内部大容量存储设备860、以及外围接口870。I/O接口840可以包括用户通过其与系统800进行交互(例如,视频、音频、和/或字母数字接合)的一个或多个接口组件。网络接口850给系统800提供了通过一个或多个网络来与远程设备(例如,服务器、其他计算设备)进行通信的能力。网络接口850可以包括以太网络适配器、无线互连组件、USB(通用串行总线)、或者其他基于有线或无线标准的或专有的接口。

存储860可以是或包括用于以非易失性的方式存储大量数据的任何传统介质,例如一个或多个基于磁性、固态、或光学的盘或组合。存储860以持续的状态来保存代码或指令以及数据862(即,即使系统800的电力中断,值也可以留存)。存储器860可以一般地被视为“存储器”,尽管存储器830是用于向处理器820提供指令的正在执行或操作的存储器。尽管存储器860是非易失性的,但存储器830可以包括易失性存储器(即,如果系统800的电力中断,则数据的值或状态是不确定的)。

外围接口870可以包括没有在上文中具体地提及的任何硬件接口。外设通常是指依赖地连接至系统800的设备。依赖地连接是以下连接:其中系统800提供操作在其上执行并且用户与其互动的软件和/或硬件平台。

图9是其中可以实现存储器访问的移动设备的实施例的框图。设备900表示移动计算设备,例如计算平板、移动电话或智能电话、支持无线的电子阅读器、或者其他移动设备。应当理解的是,在设备900中概括地示出了组件中的某些组件,而没有示出这样的设备的全部组件。

设备900可以包括处理器910,其执行设备900的主要处理操作。处理器910可以包括一个或多个物理设备,例如微处理器、应用处理器、微控制器、可编程逻辑设备、或其他处理单元。由处理器910所执行的处理操作包括对其上执行应用和/或设备功能的操作平台或操作系统的执行。处理操作包括涉及与利用人类用户或与其他设备的I/O(输入/输出)的操作、涉及功率管理的操作、和/或涉及将设备900连接至另一个设备的操作。处理操作还可以包括涉及音频I/O和/或显示I/O的操作。

在一个实施例中,设备900包括音频子系统920,其表示与向计算设备提供音频功能相关联的硬件(例如,音频硬件和音频电路)及软件(例如,驱动器、编码解码器)组件。音频功能可以包括扬声器和/或耳机输出,以及麦克风输入。这样的功能的设备可以集成到设备900中,或连接至设备900。在一个实施例中,用户通过提供由处理器910所接收和处理的音频命令来与设备900进行交互。

显示子系统930表示为用户提供视觉和/或触觉显示以与计算设备进行互动的硬件(例如,显示设备)和软件(例如,驱动程序)组件。显示子系统930可以包括显示接口932,其包括用来提供显示给用户的特定屏幕或硬件设备。在一个实施例中,显示接口932包括用于执行与显示有关的至少一些处理的与处理器910分离的逻辑。在一个实施例中,显示子系统930包括向用户提供输出和输入两者的触摸屏(或触摸板)设备。

I/O控制器940表示涉及与用户的交互的硬件设备和软件组件。I/O控制器940可以用于管理作为音频子系统920和/或显示子系统930的一部分的硬件。额外地,I/O控制器940示出了针对连接至设备900的额外的设备的连接点,其中用户可以通过该连接点与系统进行交互。例如,可以附接至设备900的设备可以包括麦克风设备、扬声器或立体声系统、视频系统或其他显示设备、键盘或小键盘设备、或者用于与具体的应用(例如,读卡器)一起使用的其他I/O设备、或者其他设备。

如在上文中所提及的,I/O控制器940可以与音频子系统920和/或显示子系统930进行交互。例如,通过麦克风或其他音频设备的输入可以提供针对设备900的一个或多个应用或功能的输入或命令。额外地,可代替显示输出或者除了显示输出之外而提供音频输出。在另一示例中,如果显示子系统930包括触摸屏,则显示设备也充当可以至少部分地由I/O控制器940来管理的输入设备。设备900上也可以存在额外的按钮或开关以提供由I/O控制器940所管理的I/O功能。

在一个实施例中,I/O控制器940管理诸如加速度计、相机、光线传感器或者其他环境传感器、陀螺仪、全球定位系统(GPS)、或者可以包括在设备900中的其他硬件之类的设备。输入可以是直接用户交互的一部分,以及将环境输入提供至系统以影响其操作(例如,针对噪声的滤波、针对亮度检测而调整显示、针对相机而应用闪光灯、或其他特征)。

在一个实施例中,设备900包括管理电池电力使用、电池充电、和与省电操作有关的特征的电力管理950。存储器子系统960包括用于将信息储存在设备900中的存储器设备962。存储器可以包括非易失性(如果中断存储器设备的电力,状态不改变)和/或易失性(如果中断存储器设备的电力,状态是不确定的)存储器设备。存储器子系统960可以储存应用数据、用户数据、音乐、照片、文档、或其他数据,以及涉及设备900的应用和功能的执行的系统数据(不论长期的还是暂时的)。

在一个实施例中,存储器子系统960包括存储器控制器964(也可被视为是系统900的控制的一部分,并且可以潜在地被视为是处理器910的一部分)。存储器控制器964监测总线的电压摆动特性。例如,存储器控制器964可检测同一总线(例如,数据总线)的不同的信号线的不同的电压摆动特性。在实施例中,存储器控制器964发出命令,该命令使得存储器962内部地生成存储器资源的激活命令或预充电命令。

连通性970包括使得设备900能够与外部设备进行通信的硬件设备(例如,无线和/或有线连接器和通信硬件)和软件组件(例如,驱动程序、协议栈)。设备900可以是分别的设备,例如其他计算设备、无线接入点或基站,以及诸如耳机、打印机、或其他设备之类的外围设备。

连通性970可以包括多个不同类型的连通性。概括而言,设备900被示出为具有蜂窝连通性972和无线连通性974。蜂窝连通性972通常是指由无线载波所提供的蜂窝网络连通性,所述无线载波例如经由以下方式所提供的无线载波:GSM(全球移动通信系统)或变型或衍生、CDMA(码分多址)或变型或衍生、TDM(时分复用)或变型或衍生、LTE(长期演进——也被称为“4G”)、或者其他蜂窝服务标准。无线连通性(或无线接口)974是指不是蜂窝的无线连通性,并且可以包括个人局域网络(例如,蓝牙)、局域网络(例如,WiFi)、和/或广域网络(例如,WiMax)、或者其他无线通信。无线通信涉及通过使用通过非固态介质的经调制的电磁辐射来传输数据。有线通信通过固态通信介质来进行。

外围连接980包括用于进行外围连接的硬件接口和连接器,以及软件组件(例如,驱动程序、协议堆栈)。应当理解的是,设备900可以是至(“到”982)其他计算设备的外围设备,以及具有与其连接(“从”984)的外围设备。计算设备900通常具有“对接”连接器以连接至其他计算设备以用于例如管理(例如,下载和/或上传、改变、同步)设备900上的内容。额外地,对接连接器可以允许设备900连接至某些外围设备,所述外围设备允许设备900控制例如至视听或其他系统的内容输出。

除专有对接连接器或其他专有连接硬件之外,设备900还可以经由常用的或基于标准的连接器进行外围连接980。常用的类型可以包括通用串行总线(USB)连接器(其可以包括多个不同的硬件接口中的任何一个硬件接口)、包括Mini显示端口(MDP)的显示端口、高清晰度多媒体接口(HDMI)、火线、或其他类型。

在一个实施方式中,一种存储器设备,包括:存储器单元的一个或多个阵列;用于检测所述存储器设备与存储器控制器的连通性的输入/输出接口;以及阈值识别逻辑,其用于向所述存储器控制器发送指示访问所述存储器单元的一个或多个阵列的未决的统一激活命令的阈值数目的信息,其中,统一激活命令指示预充电命令,其中,所述阈值数目小于未决的统一激活命令的理论最大数目,其中,所述理论最大数目是基于所述存储器设备的时间参数的,并且其中,所述存储器控制器基于指示所述阈值数目的所述信息来限制将统一激活命令传送至所述存储器设备。

在实施例中,所述理论最大数目是基于以下参数的:表示执行存储器预充电操作所需的最少时间的时间参数tRP;以及表示连续的激活操作之间所需的最少时间的时间参数tRRD。在另一个实施例中,所述理论最大数目等于一与一个整数的总和,所述整数等于基于tRRD与tRP的比率的地板函数值。在另一个实施中,所述阈值数目大于一。在另一个实施例中,指示未决的统一激活命令的所述阈值数目的信息包括未决的统一激活命令的所述阈值数目。在另一个实施例中,其中,指示未决的统一激活命令的所述阈值数目的信息包括产品识别编号,其中,所述存储器控制器基于所述产品识别编号来访问参考数据以确定未决的统一激活命令的所述阈值数目。

在另一个实施例中,存储器控制器包括用于将所述存储器控制器耦合至存储器设备的输入/输出接口;以及模式选择电路,其用于接收指示用于访问所述存储器设备的未决的统一激活命令的阈值数目的信息,其中,统一激活命令指示预充电命令,其中,所述阈值数目小于未决的统一激活命令的理论最大数目,其中,所述理论最大数目是基于所述存储器设备的时间参数的。实施存储器控制器还包括用于将统一激活命令传送至所述存储器设备的命令逻辑,其中,模式选择逻辑用于基于指示所示阈值数目的信息来限制将统一激活命令传送至所述存储器设备。

在实施例中,所述理论最大数目是基于以下参数的:表示执行存储器预充电操作所需的最少时间的时间参数tRP;以及表示连续的激活操作之间所需的最少时间的时间参数tRRD。在另一个实施例中,所述理论最大数目等于一与一个整数的总和,所述整数等于基于tRRD与tRP的比率的地板函数值。在另一个实施例中,指示未决的统一激活命令的所述阈值数目的信息包括未决的统一激活命令的所述阈值数目。在另一个实施例中,其中,指示未决的统一激活命令的所述阈值数目的信息包括产品识别编号,其中,所述存储器控制器基于所述产品识别编号来访问参考数据以确定未决的统一激活命令的所述阈值数目。

在另一个实现中,一种在存储器设备处的方法包括:检测所述存储器设备与存储器控制器的连通性;以及响应于检测到所述连通性,向所述存储器控制器发送指示用于访问所述存储器设备的未决的统一激活命令的阈值数目的信息,其中,统一激活命令指示预充电命令,其中,所述阈值数目小于未决的统一激活命令的理论最大数目,所述理论最大数目是基于所述存储器设备的时间参数的,其中,所述存储器控制器基于指示所示阈值数目的信息来限制将统一激活命令传送至所述存储器设备。

在实施例中,所述理论最大数目是基于以下参数的:表示执行存储器预充电操作所需的最少时间的时间参数tRP;以及表示连续的激活操作之间所需的最少时间的时间参数tRRD。在另一个实施例中,所述理论最大数目等于一与一个整数的总和,所述整数等于基于tRRD与tRP的比率的地板函数值。在另一个实施例中,指示未决的统一激活命令的所述阈值数目的信息包括未决的统一激活命令的所述阈值数目。在另一个实施例中,其中,指示未决的统一激活命令的所述阈值数目的信息包括产品识别编号,其中,所述存储器控制器基于所述产品识别编号来访问参考数据以确定未决的统一激活命令的所述阈值数目。

在另一个实现中,在存储器控制器处的方法包括:接收指示用于访问耦合至所述存储器控制器的存储器设备的未决的统一激活命令的阈值数目的信息,其中,统一激活命令指示预充电命令,其中,所述阈值数目小于未决的统一激活命令的理论最大数目,其中,所述理论最大数目是基于所述存储器设备的时间参数的;以及基于指示所述阈值数目的信息来限制将统一激活命令传送至所述存储器设备。

在实施例中,所述理论最大数目是基于以下参数的:表示执行存储器预充电操作所需的最少时间的时间参数tRP;以及表示连续的激活操作之间所需的最少时间的时间参数tRRD。在另一个实施例中,所述理论最大数目等于一与一个整数的总和,所述整数等于基于tRRD与tRP的比率的地板函数值。在另一个实施例中,指示未决的统一激活命令的所述阈值数目的信息包括未决的统一激活命令的所述阈值数目。在另一个实施例中,其中,指示未决的统一激活命令的所述阈值数目的信息包括产品识别编号,其中,所述存储器控制器基于所述产品识别编号来访问参考数据以确定未决的统一激活命令的所述阈值数目。

在另一个实现中,具有存储在其上的指令的一种计算机可读存储介质,其中,当由一个或多个处理单元执行时,所述指令使得存储器控制器执行一种方法,所述方法包括:接收指示用于访问耦合至所述存储器控制器的存储器设备的未决的统一激活命令的阈值数目的信息,其中,统一激活命令指示预充电命令,其中,所述阈值数目小于未决的统一激活命令的理论最大数目,其中,所述理论最大数目是基于所述存储器设备的时间参数的;以及基于指示所述阈值数目的信息来限制将统一激活命令传送至所述存储器设备。

在实施例中,所述理论最大数目是基于以下参数的:表示执行存储器预充电操作所需的最少时间的时间参数tRP;以及表示连续的激活操作之间所需的最少时间的时间参数tRRD。在另一个实施例中,所述理论最大数目等于一与一个整数的总和,所述整数等于基于tRRD与tRP的比率的地板函数值。在另一个实施例中,指示未决的统一激活命令的所述阈值数目的信息包括未决的统一激活命令的所述阈值数目。在另一个实施例中,其中,指示未决的统一激活命令的所述阈值数目的信息包括产品识别编号,其中,所述存储器控制器基于所述产品识别编号来访问参考数据以确定未决的统一激活命令的所述阈值数目。

在本文描述了用于访问存储器资源的技术和架构。在以上的描述中,出于解释的目的,阐述了许多具体的细节以便提供对某些实施例的彻底的理解。然而,对于本领域技术人员而言显而易见的是,可以没有这些具体的细节而实践某些实施例。在其他实例中,以框图形式示出了结构和设备以便避免使得描述难以理解。

在说明书中所提及的“一个实施例”、或“实施例”意指结合实施例所描述的特定的特征、结构、或特性包括在本发明的至少一个实施例中。在说明书的各种地方出现的短语“在一个实施例中”不一定全都指的是同一实施例。

本文中的详细描述的一些部分是根据代表计算机存储器内的数据位的操作的算法和符号来呈现的。这些算法描述和代表是由计算领域的技术人员向其他领域的技术人员最有效地传达其工作的实质的方式。算法在这里并且通常设想为导向期望的结果的自相一致的一系列步骤。这些步骤是需要对物理量进行物理操纵的步骤。尽管不一定,但通常这些量采取能够被存储、传输、组合、比较、和以其他方式来操纵的电信号或磁信号的形式。已经证明有时主要出于惯用法的原因而将这些信号称为位、值、元素、符号、字符、术语、数目等是方便的。

然而,应牢记的是,所有的这样的及类似用词与适当的物理量相关联并且仅为应用于这样的量的适当标记。除非在本文的讨论中显然另有具体说明,否则应理解,贯穿说明书,使用例如“处理”或“计算”或“确定”或“显示”等术语的讨论涉及计算机系统或类似电子计算设备的操作及处理,所述设备对以计算机系统的缓存器及存储器内的物理(电子)量形式表示的数据进行操作并将其转化为类似地以计算机系统存储器或缓存器或其他这样的信息存储、传输或显示设备内的物理量形式来表示的其他数据。

某些实施例还涉及用于执行本文中的操作的设备。可专门地构造这一设备以便用于所需的目的,或者其可以包括由计算机中存储的计算机程序选择性启动或重新组配的通用计算机。所述计算机程序可存储在计算机可读存储介质中,例如但不限于任何类型的盘片,包括软盘、光盘、CD—ROMs及磁光盘、只读存储器(ROMs)、随机存取存储器(RAMs),例如动态RAM(DRAM)、EPROMs、EEPROMs、磁性或光学卡,或适合于存储电子指令,并耦合至计算机系统总线的任何类型的介质。

本文所呈现的算法及显示并非固有地与任何具体计算机或其他设备相关联。各种通用系统可与根据本文教导的程序一起使用,或者建构更为专用的设备以便执行所需方法步骤可被证明是便利的。根据本文的描述,各种这样的系统的所需结构是显而易见的。另外,未参照任何具体程序设计语言来描述某些实施例。应认识到各种程序设计语言可用于实施如本文所述的这样的实施例的教导。

除本文描述的以外,可对所公开的实施例及其实施方式进行各种修改而不背离其范围。因此,本文的说明及示例应被理解为示例性的,并且不具有限制性意义。本发明的范围应仅参考以下权利要求来衡量。

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