CN105556421A - 使用动态存储i/o调整大小来节约存储功率的系统和方法 - Google Patents

使用动态存储i/o调整大小来节约存储功率的系统和方法 Download PDF

Info

Publication number
CN105556421A
CN105556421A CN201480051727.0A CN201480051727A CN105556421A CN 105556421 A CN105556421 A CN 105556421A CN 201480051727 A CN201480051727 A CN 201480051727A CN 105556421 A CN105556421 A CN 105556421A
Authority
CN
China
Prior art keywords
width
dram
storage
channel
memory
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.)
Granted
Application number
CN201480051727.0A
Other languages
English (en)
Other versions
CN105556421B (zh
Inventor
H-J·罗
D·全
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN105556421A publication Critical patent/CN105556421A/zh
Application granted granted Critical
Publication of CN105556421B publication Critical patent/CN105556421B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3253Power saving in bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1678Details of memory controller using bus width
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Power Sources (AREA)

Abstract

本文公开了用于节约存储系统中的功耗的系统和方法。一个这样的系统包括DRAM存储系统和片上系统(SoC)。SoC经由存储总线被耦合至DRAM存储系统。该SoC包括用于处理来自一个或多个存储客户端的、针对存取DRAM存储系统的存储请求的一个或多个存储控制器。该一个或多个存储控制器被配置成通过对存储总线的总线宽度动态地调整大小来选择性地节约存储功耗。

Description

使用动态存储I/O调整大小来节约存储功率的系统和方法
背景技术
计算设备(例如,便携式计算设备、平板电脑、移动电话等)一直要求增加的存储输入/输出(I/O)速度以适应更高的峰值性能需求。为了解决峰值性能需求,通常的做法是将计算设备设计为具有更快的I/O速度和更宽的存储总线。然而,具有增加的存储速度的计算设备需要增加的功耗。虽然对于高性能I/O用例(usecase)而言,增加的功耗可以是一个可接受的折衷,但是很多计算设备的大多数用例都不需要高性能I/O。例如,高性能I/O对诸如音频回放、语音呼叫、视频回放等的低至中等性能的用例是不利的。
已有用于通过将存储I/O操作重新配置为“低功率”模式来减少相对较低性能的I/O使用的功耗的现有解决方案。通常,这意味着存储I/O以较低的频率运行。在“低功率”模式期间,可以禁用以较高频率用于信号完整性的终端电阻。此外,可能还需要修改信号摆幅。虽然在可适用的用例期间,这可以帮助减少功耗,但是频率转换引入了不期望的延时,取决于实施方式,延时通常是2μs至50μs。
发明内容
本文公开了用于节约存储系统中的功耗的系统和方法。一个实施例是一种用于节约存储系统中的功耗的方法。一种这样的方法包括:从位于片上系统(SoC)上的存储客户端接收针对存取动态随机存取存储器(DRAM)存储系统的存储请求,该DRAM存储系统经由存储总线被耦合至SoC;确定来自存储客户端的存储请求对应于使用的宽度少于存储总线的全部宽度的性能用例;以及通过将存储总线动态调整大小到少于全部宽度来节约针对与该性能用例相对应的存储请求的存储功耗。
另一实施例是一种用于节约存储系统中的功耗的系统。一种这样的系统包括DRAM存储系统和片上系统(SoC)。SoC经由存储总线被耦合至DRAM存储系统。该SoC包括用于处理来自一个或多个存储客户端的、针对存取DRAM存储系统的存储请求的一个或多个存储控制器。存储控制器被配置成通过动态地对存储总线的总线宽度调整大小来选择性地节约存储功耗。
附图说明
在附图中,除非另有说明,否则类似的附图标记贯穿各个视图表示类似的部分。对于诸如“102A”或“102B”之类的使用字母字符标志的附图标记,字母字符标志可以区分出现在相同附图中的两个类似的部分或要素。当附图标记旨在包含在全部附图中具有相同附图标记的全部部分时,用于附图标记的字母字符标志可以省略。
图1是用于使用动态存储I/O调整大小来节约DRAM存储功耗的系统的实施例的框图。
图2是示出了用图1的系统实现的用于节约DRAM存储功耗的方法的实施例的流程图。
图3是示出了在高性能模式期间的图1的系统的单通道实施例的框图。
图4是示出了在低性能模式期间的图3的系统的框图,其中,总线宽度被动态地调整大小以节约存储功耗。
图5是示出了处于高性能模式下的图3的系统的另一单通道实施例的框图。
图6示出了处于低性能模式下的图5的系统。
图7是示出了图1的系统的双通道实施例的框图。
图8是示出了图1的系统的另一双通道实施例的框图。
图9示出了处于高性能模式下的图8的系统。
图10示出了处于低性能模式下的图8的系统。
图11是合并了图1的系统的便携式计算设备的实施例的框图。
具体实施方式
本文中使用“示例性”一词表示“用作例子、实例或说明”。本文被描述为“示例性”的任何方面不应被解释为比其它方面更优选或更具优势。
在本描述中,术语“应用”还可以包括具有可执行内容的文件,例如:目标代码、脚本、字节代码、标记语言文件和补丁。此外,本文提到的“应用”还可以包括实际上不可执行的文件,例如可能需要被打开的文档或可能需要被存取的其它数据文件。
术语“内容”还可以包括具有可执行内容的文件,例如:目标代码、脚本、字节代码、标记语言文件和补丁。此外,本文提到的“内容”还可以包括实际上不可执行的文件,例如可能需要被打开的文档或可能需要被存取的其它数据文件。
如本描述中所使用的,术语“组件”、“数据库”、“模块”、“系统”等意指与计算机相关的实体,其可以是硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,组件可以是、但并不仅限于:处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。作为说明,在计算设备上运行的应用和该计算设备二者都可以是组件。一个或多个组件可以位于执行中的一个进程和/或线程内,以及,组件可以位于一台计算机上和/或分布于两台或更多台计算机之间。此外,可以通过存储了各种数据结构的各种计算机可读介质来执行这些组件。这些组件可以例如根据具有一个或多个数据分组(例如,来自一个组件的数据,该组件通过信号与本地系统、分布式系统中和/或跨越诸如具有其它系统的因特网之类的网络的另一组件进行交互)的信号通过本地和/或远程进程进行通信。
在本描述中,术语“通信设备”、“无线设备”、“无线电话”、“无线通信设备”和“无线手持机”可互换使用。随着第三代(“3G”)和第四代(“4G”)无线技术的到来,更高的带宽可用性使得更多的便携式计算设备能够具有更多样的无线能力。因此,便携式计算设备可以包括蜂窝电话、寻呼机、PDA、智能电话、导航设备或具有无线连接或链路的手持计算机。
图1示出了用于使用动态存储输入/输出(I/O)调整大小来节约存储功耗的系统100。可以在任何计算设备中实现系统100,计算设备包括个人计算机、工作站、服务器、便携式计算设备(PCD)(例如,蜂窝电话、便携式数字助理(PDA)、便携式游戏控制台、掌上型计算机或平板电脑)。如图1的实施例所示,系统100包括经由存储总线106耦合到DRAM存储系统104的片上系统(SoC)102。SoC102包括各种片上组件,包括向DRAM存储系统104请求存储资源的一个或多个存储客户端108。存储客户端108可以包括一个或多个处理单元(例如,中央处理单元(CPU)、图像处理单元(GPU)、数字信号处理器(DSP)、显示处理器等)、视频编码器或向DRAM存储系统104请求读/写存取的其它客户端。存储客户端108经由SoC总线109连接至一个或多个存储控制器110。
存储控制器110被配置成接收和处理去往DRAM存储系统104的读/写存储请求。存储数据可以分布在经由专用存储通道连接至相应的DRAM器件112的一个或多个存储控制器110之间。应当理解的是,可以在具有任意期望类型、大小和存储配置(例如,双倍数据速率(DDR)存储器)的系统100中使用任意数量的DRAM器件112、存储控制器110和存储通道。
如图1所示,系统100被配置成为合适的用例选择性地提供两种不同的通道模式:(1)高性能通道模式118;和(2)低性能通道模式120。在高性能通道模式下,可以使用存储总线106的全部宽度来处理高性能用例。在图1的例子中,存储总线106的全部宽度可以包括8比特。每个比特可以包括单独的管脚、连接或其它物理层组件。应当理解的是,可能有多种用例不需要高性能(例如,音频回放、移动电话上的语音呼叫、视频回放等)以及可以经由少于存储总线106的全部宽度来提供合适的性能。对于相对较低性能的用例(或功率节约优于性能的其它情况),可以通过对存储总线106的宽度动态地调整大小来节约存储功率。就这一点而言,应当理解的是,低性能用例可以包括可以在产出减少的存储功率的同时利用少于存储总线106的全部宽度来提供合适性能的任意情况。例如,在低性能通道模式120期间,可以将8比特存储总线106调整大小至4比特存储总线106。如图1的实施例所示,可以通过禁用八个管脚、连接或包括存储总线106的其它物理层组件(如虚线示出的)中的四个来将通道宽度减少二分之一。
图2示出了由系统100实现的用于使用动态存储I/O调整大小来节约存储功率的方法200的实施例。在方框202处,从存储客户端108接收针对存取DRAM存储系统104的存储请求。在决定框204处,系统100确定应当以使用存储总线106的全部宽度的高性能通道模式118来处理该存储请求,还是以使用少于存储总线106的全部宽度的低性能通道模式120来处理该存储请求。应当理解的是,存储客户端108可以请求功率优先或性能优先。例如,在实施例中,可以在用于消除的读/写命令中包括通道宽度调整大小比特,该用于消除的读/写命令可以消除对额外信号管脚的需要。可以由系统100来确认功率优先还是性能优先。在其它实施例中,基于预期的或计算出的性能需求,存储客户端108可以被分配给高性能通道模式118或低性能通道模式120。如果在方框210处,系统100确定高性能用例,则可以使用全部总线宽度向DRAM存储系统104提供存储数据。如果系统100确定不需要高性能或相比性能而优选功率节约,则在方框206处,可以通过对存储总线106动态地调整大小来节约存储功率。在方框208处,可以经由调整大小过的总线宽度向DRAM存储系统104提供存储数据。
应当理解的是,可以以单通道存储系统或多通道存储系统来实现动态存储I/O调整大小。图3-图6示出了动态存储I/O调整大小的单通道实施方式的各种实施例。
图3&图4示出了DRAM存储系统104包括LPDDR2存储器件以及存储总线106包括32比特总线的例子。如本领域所公知的,DRAM存储事务由基于时钟302跨越存储总线106上的多个节拍组成。节拍数量(“突发长度”)可以是固定的且取决于DRAM器件的类型。例如,DDR类型的器件的突发长度是2,DDR2类型的器件的突发长度是4,DDR3类型的器件的突发长度是8等等。节拍数量和总线宽度的组合被定义为最小存取长度(MAL)。图3&图4的例子中的32比特宽的LPDDR2的MAL大小是16字节(4个节拍x32比特=128比特=16字节),其中节拍304、节拍306、节拍308和节拍310中每一个都包括4个字节。DRAM存储系统104包括内部逻辑结构,该内部逻辑结构经由存储总线106接收节拍传入流并将其放置于有MAL大小的寄存器(例如,存储I/O寄存器312)中,该寄存器然后被加载至DRAM存储核心阵列314中。
图3示出了处于使用了全部32比特总线宽度的高性能通道模式下的示例性系统100的操作。图4示出了低性能通道模式的操作,其中,32比特的通道宽度被动态地调整了二分之一大小,至16比特的通道宽度。为了保持具有一半总线宽度的16字节的预定MAL大小,SoC102被配置成使节拍数量加倍。如图4所示,节拍402、节拍404、节拍406、节拍408、节拍410、节拍412、节拍414和节拍416中的每一个被配置为具有2字节而不是如在高性能通道模式下所使用的4字节。DRAM存储系统104接收八个2字节的节拍传入流,并且将其放置在有MAL大小的存储I/O寄存器312中的相同的16字节中。然后以和高性能通道模式下相同的方式将存储I/O寄存器312加载至存储核心阵列314中,而不需要重新配置DRAM内部结构或减少在低性能通道模式下可用的可用存储空间量。
图5&图6示出了动态存储I/O调整大小的单通道实施方式的另一实施例。图5示出了处于高性能通道模式下的系统100。图6示出了处于低性能通道模式下的系统100。SoC102包括存储控制器110,其用于处理在一对SoC物理层器件114(SoCPHY_U和SoCPHY_L)和相应的存储物理层器件116(MemPHY_U和MemPHY_L)之间的发往DRAM存储系统104的存储请求。DRAM存储系统104包括存储I/O寄存器312和存储核心寄存器314。
参照图5,SoC物理层器件114和存储物理层器件116包括用于向存储总线106提供比特且从存储总线106接收相应比特的线路驱动器。SoCPHY_U和存储PHY_U包括线路驱动器IO[m-1]、IO[m-2]……IO[m/2],其中m=通道宽度。SoCPHY_L和存储PHY_L包括线路驱动器IO[m/2]……IO[1]……IO[0]。如图5中进一步示出的,存储总线106包括含有n个节拍的单个存储通道,其中n=节拍数量,B=单个m比特的节拍且b=节拍(B)内的单个比特。存储I/O寄存器312接收并存储传入数据,这些传入数据被加载至存储核心寄存器314中。
如图6所示,当处于低性能通道模式下时,通道宽度从m减少至m/2,其中SoCPHY_U和存储PHY_U被禁用以得到期望的功率节省。为了将预定的MAL大小保持在一半的总线宽度(m/2),SoC102被配置成使节拍数量加倍(2n)。存储I/O寄存器312接收并存储一半数量的比特,这些比特被加载至存储核心寄存器314中。
图7示出了动态存储I/O调整大小的双通道实施方式的实施例。SoC102和DRAM存储系统104可以包括两个存储通道702和704(Ch0和Ch1)。在高性能用例中(图7的上图中示出的),通道702和通道704二者都是活跃的,其中,16个节拍的数据从SoC:Ch0去往DRAM:Ch0且16个节拍的数据从SoC:Ch1去往DRAM:Ch1。
当期望相对较低性能的用例时,系统100可以例如通过禁用一个存储通道来动态地重新配置存储通道宽度的大小。如图7的下图所示,可以禁用存储通道704以实现期望的功率节省。活跃的存储通道702包括通过复用器706在DRAM:Ch0和DRAM:Ch1之间复用的16个节拍的数据。应当理解的是,可以将复用器706放置在数据路径中的各点处(例如,在存储I/O寄存器312之前或之后、在DRAM之内或之外等)。
图8-图10示出了动态存储I/O调整大小的双通道实施方式的另一实施例,该实施例沿用与图5&图6中相同的参考符号:m=通道宽度,n=节拍数量且B=单个m比特的节拍。如图8所示,SoC102包括两个存储控制器110a和110b。存储控制器110a对应于存储通道702,用于处理在SoCPHY_A和存储PHY_A之间的去往DRAM存储系统104的存储请求。存储控制器110b对应于存储通道704,用于处理在SoCPHY_B和存储PHY_B之间的去往DRAM存储系统104的存储请求。在高性能操作模式下(图8&图9),存储I/O寄存器312a接收并存储来自存储PHY_A的存储数据。存储I/O寄存器312b接收并存储来自存储PHY_B的存储数据。
如图8-图10中进一步示出的,SoC物理层器件114a和114b以及存储物理层器件116a和116b可以包括多个线路驱动器IO[k],其中m=通道宽度,0≤k≤m-1。参照图8,存储PHY_A线路驱动器IO[m-1]和存储PHY_B线路驱动器IO[m-1]可以包括去往复用器802的输入以便于控制(通过MODE_SEL)提供哪些数据给存储I/O寄存器312b。在低性能操作模式下(图10),可以禁用存储通道704以使存储总线宽度减半并得到期望的功率节省。复用器802可以将来自存储PHY_A线路驱动器IO[m-1]的数据选择性地提供给存储I/O寄存器312a或存储I/O寄存器312b。应当理解的是,可以对其它存储PHY_A和存储PHY_B的线路驱动器IO[k]进行类似地复用。
应当理解的是,图5-图10中示出的实施例实现了存储器的写操作,其中,可以将来自SoC102的数据写入DRAM存储系统104。本领域的普通技术人员应当理解的是,上述方法也可以应用于相反的方向,并且在来自DRAM存储系统104的数据被返回至SoC102中的存储读取操作期间可以获得功率节省。
如上面所提到的,系统100可以并入任意期望的计算系统中。图11示出了系统100被并入示例性便携式计算设备(PCD)1100中。应当易于理解的是,系统100的某些组件可以包括在SoC322(图12)上,而其它组件(例如,DRAM存储系统104)可以包括耦合到SoC322的外部组件。SoC322可以包括多核CPU1102。多核CPU1102可以包括第零内核410、第一内核412和第N内核414。这些内核中的一个可以例如包括图像处理单元(GPU),而其它内核中一个或多个包括CPU。
显示控制器328和触摸屏控制器330可以被耦合至CPU1202。转而,在片上系统322之外的触摸屏显示器1106可以被耦合至显示控制器1106和触摸屏控制器330。
图11还示出了视频编码器334(例如,逐行倒相(PAL)编码器、按顺序传送彩色与存储(SECAM)编码器或国家电视系统委员会(NTSC)编码器)被耦合至多核CPU1102。此外,视频放大器336被耦合至视频编码器334和触摸屏显示器1106。另外,视频端口338被耦合至视频放大器336。如图11所示,通用串行总线(USB)控制器340被耦合至多核CPU1102。另外,USB端口342被耦合至USB控制器340。存储器1104和用户识别模块(SIM)卡346也可以被耦合至多核CPU1102。存储器1104可以位于SoC322上或被耦合至SoC322(如图1所示)。如上所述,存储器1104可以包括DRAM存储系统104(图1)。
此外,如图11所示,数字照相机348可以被耦合至多核CPU1102。在示例性方面中,数字照相机348是电荷耦合器件(CCD)照相机或互补金属氧化物半导体(CMOS)照相机。
如图11中进一步示出的,立体声音频编译码器(CODEC)350可以被耦合至多核CPU1102。此外,音频放大器352可以被耦合至立体声音频CODEC350。在示例性方面中,可以将第一立体声扬声器354和第二立体声扬声器356耦合至音频放大器352。图11示出话筒放大器358也可以被耦合至立体声音频CODEC350。此外,可以将话筒360耦合至话筒放大器358。在特定方面中,可以将调频(FM)广播调谐器362耦合至立体声音频CODEC350。另外,可以将FM天线364耦合至FM广播调谐器362。此外,可以将立体声耳机366耦合至立体声音频CODEC350。
图11还示出了可以将射频(RF)收发机368耦合至多核CPU402A。RF开关370可以被耦合至RF收发机368和RF天线372。如图11所示,可以将键盘204耦合至多核CPU1102。另外,可以将具有话筒的单声道耳机376耦合至多核CPU1102。此外,可将振动器件378耦合至多核CPU1202。
图11还示出可以将电源380耦合至片上系统322。在特定方面中,电源380是为PCD1100的各种需要功率的组件提供功率的直流(DC)电源。此外,在特定方面中,电源是可充电DC电池或DC电源,其通过连接至AC电源的变压器从交流电(AC)得到DC。
图11还表明,PCD1100还可以包括可以用于接入数据网络(例如,局域网、个域网或任何其它网络)的网卡388。网卡388可以是蓝牙网卡、WiFi网卡、个域网(PAN)卡、个域网超低功率技术(PeANUT)网卡、电视\线缆\卫星调谐器或本领域熟知的任意其它网卡。此外,可以将网卡388并入芯片中,即,网卡388可以是芯片中的完整解决方案,而可以不是单独的网卡388。
如图11中所描绘的,触摸屏显示器1106、视频端口338、USB端口342、照相机348、第一立体声扬声器354、第二立体声扬声器356、话筒360、FM天线364、立体声耳机366、RF开关370、RF天线372、键盘374、单声道耳机376、振动器378和电源380可以在片上系统322之外。
应当理解的是,可以将本文描述的方法步骤中的一个或多个作为计算机程序指令存储在存储器中,例如上述模块。这些指令可以由任何合适的处理器结合或协同相应的模块来运行以执行本文所述的方法。
为了本发明如所描述地运行,本说明书中描述的过程或过程流程中的某些步骤理当在其它步骤之前。然而,如果这样的顺序或次序不会改变本发明的功能,则本发明并不受所描述的步骤顺序的限制。即,应当认识到,在不脱离本发明的范围和精神的情况下,一些步骤可以在其它步骤之前、之后或与其它步骤并行地(与其基本同时地)被执行。在一些实例中,在不脱离本发明的情况下,可以省略或不执行某些步骤。此外,诸如“其后”、“然后”、“接下来”等词并不旨在限制这些步骤的顺序。这些词仅是用于引导读者阅读示例性方法的描述。
此外,例如基于本说明书中的流程图和相关描述,普通程序设计人员能够毫无困难地写出计算机代码或识别合适的硬件和/或电路以实现所公开的发明。
因此,对于充分理解如何实行和使用本发明而言,特定的程序代码指令集或详细硬件设备的公开内容并不被认为是必须的。在上面的描述中以及结合可以示出各种过程流程的附图详细解释了所要求保护的计算机实现过程的创造性功能。
在一个或多个示例性方面中,所述功能可以用硬件、软件、固件或其任意组合来实现。如果使用软件实现,则可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质二者,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。作为示例而非限制,这种计算机可读介质可以包括RAM、ROM、EEPROM、NAND闪存、NOR闪存、M-RAM、P-RAM、R-RAM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储器件、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质。
此外,可以将任何连接适当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或其它远程源进行传输的,那么这些同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线电和微波之类的无线技术包括在所述介质的定义中。
如本文所使用的,磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字通用光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。上面的组合也应当包括在计算机可读介质的范围之内。
对本领域普通技术人员而言,在不脱离其精神和范围的情况下,本发明涉及的可替换的实施例将是显而易见的。因此,虽然已详细说明并描述了所选的方面,但是应当理解的是,在不脱离如以下权利要求所定义的本发明的精神和范围的情况下,可以有各种替代和变化。

Claims (40)

1.一种用于节约存储系统中的功耗的方法,所述方法包括:
从位于片上系统(SoC)上的存储客户端接收针对存取动态随机存取存储器(DRAM)存储系统的存储请求,所述DRAM存储系统经由存储总线耦合至所述SoC;
确定来自所述存储客户端的所述存储请求对应于使用的宽度少于所述存储总线的全部宽度的性能用例;以及
通过将所述存储总线动态地调整大小到少于所述全部宽度,来节约针对与所述性能用例相对应的所述存储请求的存储功耗。
2.根据权利要求1所述的方法,其中,所述存储客户端包括位于所述SoC上的以下各项中的一项:中央处理单元(CPU)、图像处理单元(GPU)和数字信号处理器(DSP)。
3.根据权利要求1所述的方法,其中,所述存储总线包括N比特通道,并且将所述存储总线的总线宽度动态地调整大小包括将所述N比特通道减少至(N-M)比特通道。
4.根据权利要求1所述的方法,其中,所述存储总线包括单存储通道。
5.根据权利要求4所述的方法,其中,将所述总线宽度动态地调整大小包括:
将所述总线宽度从第一通道宽度减少至第二通道宽度;以及
增加跨越所述单存储通道上的节拍数量,以保持由所述DRAM存储系统定义的最小存取长度(MAL)。
6.根据权利要求4所述的方法,其中,将所述总线宽度从所述第一通道宽度减少至所述第二通道宽度包括禁用所述SoC中的SoC物理层器件和所述DRAM存储系统中的存储物理层器件。
7.根据权利要求1所述的方法,其中,所述存储总线包括n通道总线。
8.根据权利要求7所述的方法,双通道总线包括用于第一DRAM器件的第一存储通道和用于第二DRAM器件的第二存储通道,并且其中,将所述总线宽度动态地调整大小包括禁用所述第二存储通道。
9.根据权利要求8所述的方法,还包括:在所述第一DRAM器件和所述第二DRAM器件之间复用所述第一存储通道。
10.根据权利要求9所述的方法,其中,所述复用是在所述DRAM存储系统中执行的。
11.一种用于节约存储系统中的功耗的系统,所述方法包括:
用于从位于片上系统(SoC)上的存储客户端接收针对存取动态随机存取存储器(DRAM)存储系统的存储请求的单元,所述DRAM存储系统经由存储总线耦合至所述SoC;
用于确定来自所述存储客户端的所述存储请求对应于使用的宽度少于所述存储总线的全部宽度的性能用例的单元;以及
用于通过将所述存储总线动态地调整大小到少于所述全部宽度,来节约针对与所述性能用例相对应的所述存储请求的存储功耗的单元。
12.根据权利要求11所述的系统,其中,所述存储客户端包括位于所述SoC上的以下各项中的一项:中央处理单元(CPU)、图像处理单元(GPU)和数字信号处理器(DSP)。
13.根据权利要求11所述的系统,其中,所述存储总线包括N比特通道,并且将所述存储总线的总线宽度动态地调整大小包括用于将所述N比特通道减少至(N-M)比特通道的单元。
14.根据权利要求11所述的系统,其中,所述存储总线包括单存储通道。
15.根据权利要求14所述的系统,其中,将所述总线宽度动态地调整大小包括:
用于将所述总线宽度从第一通道宽度减少至第二通道宽度的单元;以及
用于增加跨越所述单存储通道上的节拍数量,以保持由所述DRAM存储系统定义的最小存取长度(MAL)的单元。
16.根据权利要求14所述的系统,其中,所述用于将所述总线宽度从所述第一通道宽度减少至所述第二通道宽度的单元包括用于禁用所述SoC中的SoC物理层器件和所述DRAM存储系统中的存储物理层器件的单元。
17.根据权利要求11所述的系统,其中,所述存储总线包括n通道总线。
18.根据权利要求17所述的系统,双通道总线包括用于第一DRAM器件的第一存储通道和用于第二DRAM器件的第二存储通道,并且其中,将所述总线宽度动态地调整大小包括用于禁用所述第二存储通道的单元。
19.根据权利要求18所述的系统,还包括:用于在所述第一DRAM器件和所述第二DRAM器件之间复用所述第一存储通道的单元。
20.根据权利要求19所述的系统,其中,所述复用是在所述DRAM存储系统中执行的。
21.一种包括具有包含于其中的计算机可读程序代码的计算机可用介质的计算机程序产品,所述计算机可读程序代码适用于被执行以实现用于节约存储系统中的功耗的方法,所述方法包括:
从位于片上系统(SoC)上的存储客户端接收针对存取动态随机存取存储器(DRAM)存储系统的存储请求,所述DRAM存储系统经由存储总线耦合至所述SoC;
确定来自所述存储客户端的所述存储请求对应于使用的宽度少于所述存储总线的全部宽度的性能用例;以及
通过将所述存储总线动态地调整大小到少于所述全部宽度,来节约针对与所述性能用例相对应的所述存储请求的存储功耗。
22.根据权利要求21所述的计算机程序产品,其中,所述存储客户端包括位于所述SoC上的以下各项中的一项:中央处理单元(CPU)、图像处理单元(GPU)和数字信号处理器(DSP)。
23.根据权利要求21所述的计算机程序产品,其中,所述存储总线包括N比特通道,并且对所述存储总线的总线宽度动态地调整大小包括将所述N比特通道减少至(N-M)比特通道。
24.根据权利要求21所述的计算机程序产品,其中,所述存储总线包括单存储通道。
25.根据权利要求24所述的计算机程序产品,其中,将所述总线宽度动态地调整大小包括:
将所述总线宽度从第一通道宽度减少至第二通道宽度;以及
增加跨越所述单存储通道上的节拍数量,以保持由所述DRAM存储系统定义的最小存取长度(MAL)。
26.根据权利要求24所述的计算机程序产品,其中,将所述总线宽度从所述第一通道宽度减少至所述第二通道宽度包括禁用所述SoC中的SoC物理层器件和所述DRAM存储系统中的存储物理层器件。
27.根据权利要求21所述的计算机程序产品,其中,所述存储总线包括n通道总线。
28.根据权利要求27所述的计算机程序产品,双通道总线包括用于第一DRAM器件的第一存储通道和用于第二DRAM器件的第二存储通道,并且其中,将所述总线宽度动态地调整大小包括禁用所述第二存储通道。
29.根据权利要求28所述的计算机程序产品,其中,所述方法还包括:在所述第一DRAM器件和所述第二DRAM器件之间复用所述第一存储通道。
30.根据权利要求29所述的计算机程序产品,其中,所述复用是在所述DRAM存储系统中执行的。
31.一种用于节约存储系统中的功耗的系统,所述系统包括:
DRAM存储系统;以及
经由存储总线耦合至所述DRAM存储系统的片上系统(SoC),所述SoC包括用于处理来自一个或多个存储客户端的、针对存取所述DRAM存储系统的存储请求的一个或多个存储控制器,其中,所述一个或多个存储控制器被配置成通过对所述存储总线的总线宽度动态地调整大小来选择性地节约存储功耗。
32.根据权利要求31所述的系统,其中,所述存储客户端包括位于所述SoC上的以下各项中的一项:中央处理单元(CPU)、图像处理单元(GPU)和数字信号处理器(DSP)。
33.根据权利要求31所述的系统,其中,所述存储总线包括N比特通道,并且对所述存储总线的所述总线宽度动态地调整大小包括将所述N比特通道减少至(N-M)比特通道。
34.根据权利要求31所述的系统,其中,所述存储总线包括单存储通道。
35.根据权利要求34所述的系统,其中,对所述总线宽度动态地调整大小包括:
将所述总线宽度从第一通道宽度减少至第二通道宽度;以及
增加跨越所述单存储通道上的节拍数量以保持由所述DRAM存储系统定义的最小存取长度(MAL)。
36.根据权利要求34所述的系统,其中,将所述总线宽度从所述第一通道宽度减少至所述第二通道宽度包括禁用所述SoC中的SoC物理层器件和所述DRAM存储系统中的存储物理层器件。
37.根据权利要求31所述的系统,其中,所述存储总线包括n通道总线。
38.根据权利要求37所述的系统,其中,双通道总线包括用于第一DRAM器件的第一存储通道和用于第二DRAM器件的第二存储通道,并且其中,对所述总线宽度动态地调整大小包括禁用所述第二存储通道。
39.根据权利要求38所述的系统,其中,进一步地,在所述第一DRAM器件和所述第二DRAM器件之间复用所述第一存储通道。
40.根据权利要求39所述的系统,其中,所述复用是在所述DRAM存储系统中执行的。
CN201480051727.0A 2013-09-20 2014-09-19 使用动态存储i/o调整大小来节约存储功率的系统和方法 Active CN105556421B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/033,233 2013-09-20
US14/033,233 US9430434B2 (en) 2013-09-20 2013-09-20 System and method for conserving memory power using dynamic memory I/O resizing
PCT/US2014/056659 WO2015042469A1 (en) 2013-09-20 2014-09-19 System and method for conserving memory power using dynamic memory i/o resizing

Publications (2)

Publication Number Publication Date
CN105556421A true CN105556421A (zh) 2016-05-04
CN105556421B CN105556421B (zh) 2018-12-25

Family

ID=51703397

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480051727.0A Active CN105556421B (zh) 2013-09-20 2014-09-19 使用动态存储i/o调整大小来节约存储功率的系统和方法

Country Status (7)

Country Link
US (1) US9430434B2 (zh)
EP (1) EP3047352B1 (zh)
JP (1) JP6239130B2 (zh)
KR (1) KR101914350B1 (zh)
CN (1) CN105556421B (zh)
TW (1) TWI627526B (zh)
WO (1) WO2015042469A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110622143A (zh) * 2017-05-19 2019-12-27 高通股份有限公司 用于对经由ddr接口参数的特定于设备的自定义来减少存储器功耗的系统和方法
CN110941574A (zh) * 2018-09-21 2020-03-31 三星电子株式会社 数据处理装置和与存储装置通信的方法
WO2024021786A1 (zh) * 2022-07-28 2024-02-01 华为技术有限公司 数据读写的方法、控制器和存储设备

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9324397B1 (en) * 2015-01-16 2016-04-26 Qualcomm Incorporated Common die for supporting different external memory types with minimal packaging complexity
WO2017058494A1 (en) 2015-10-01 2017-04-06 Rambus Inc. Memory system with cached memory module operations
US10222853B2 (en) * 2016-03-03 2019-03-05 Qualcomm Incorporated Power saving techniques for memory systems by consolidating data in data lanes of a memory bus
US10126979B2 (en) 2016-10-04 2018-11-13 Qualcomm Incorporated Bus encoding using metadata
US10152379B1 (en) * 2016-12-27 2018-12-11 EMC IP Holding Company LLP Efficient garbage collection for distributed storage with forward error correction
US10409513B2 (en) 2017-05-08 2019-09-10 Qualcomm Incorporated Configurable low memory modes for reduced power consumption
CN109032973B (zh) * 2018-07-09 2020-10-16 芯来科技(武汉)有限公司 Icb总线系统
US11693794B2 (en) * 2020-08-31 2023-07-04 Sandisk Technologies Llc Tunable and scalable command/address protocol for non-volatile memory
US11893240B2 (en) * 2021-10-28 2024-02-06 Qualcomm Incorporated Reducing latency in pseudo channel based memory systems

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080313480A1 (en) * 2007-03-26 2008-12-18 Stmicroelectronics Pvt. Ltd. Architecture incorporating configurable controller for reducing on chip power leakage
US20100250981A1 (en) * 2009-03-30 2010-09-30 Lenova (Singapore) Pte. Ltd. Dynamic memory voltage scaling for power management
CN102692948A (zh) * 2012-05-21 2012-09-26 珠海市杰理科技有限公司 片上系统实现的实时时钟低功耗控制电路

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5915265A (en) 1995-12-22 1999-06-22 Intel Corporation Method and apparatus for dynamically allocating and resizing the dedicated memory in a shared memory buffer architecture system
US6330639B1 (en) 1999-06-29 2001-12-11 Intel Corporation Method and apparatus for dynamically changing the sizes of pools that control the power consumption levels of memory devices
US6727533B2 (en) * 2000-11-29 2004-04-27 Fujitsu Limited Semiconductor apparatus having a large-size bus connection
US7469311B1 (en) * 2003-05-07 2008-12-23 Nvidia Corporation Asymmetrical bus
US7188198B2 (en) 2003-09-11 2007-03-06 International Business Machines Corporation Method for implementing dynamic virtual lane buffer reconfiguration
US7694060B2 (en) 2005-06-17 2010-04-06 Intel Corporation Systems with variable link widths based on estimated activity levels
US7539809B2 (en) * 2005-08-19 2009-05-26 Dell Products L.P. System and method for dynamic adjustment of an information handling systems graphics bus
US20070101168A1 (en) 2005-10-31 2007-05-03 Lee Atkinson Method and system of controlling data transfer speed and power consumption of a bus
US20080310485A1 (en) * 2007-06-15 2008-12-18 Qualcomm Incorporated System and methods for controlling modem hardware
US7949817B1 (en) 2007-07-31 2011-05-24 Marvell International Ltd. Adaptive bus profiler
JP2010181998A (ja) * 2009-02-04 2010-08-19 Oki Data Corp データ処理装置
US8412971B2 (en) 2010-05-11 2013-04-02 Advanced Micro Devices, Inc. Method and apparatus for cache control
US8762760B2 (en) * 2010-09-14 2014-06-24 Xilinx, Inc. Method and apparatus for adaptive power control in a multi-lane communication channel
JP5630348B2 (ja) 2011-03-18 2014-11-26 株式会社リコー メモリモジュールおよびメモリシステム
US10838886B2 (en) * 2011-04-19 2020-11-17 Micron Technology, Inc. Channel depth adjustment in memory systems
WO2013009442A2 (en) 2011-07-12 2013-01-17 Rambus Inc. Dynamically changing data access bandwidth by selectively enabling and disabling data links
US9262348B2 (en) 2011-11-30 2016-02-16 Nvidia Corporation Memory bandwidth reallocation for isochronous traffic

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080313480A1 (en) * 2007-03-26 2008-12-18 Stmicroelectronics Pvt. Ltd. Architecture incorporating configurable controller for reducing on chip power leakage
US20100250981A1 (en) * 2009-03-30 2010-09-30 Lenova (Singapore) Pte. Ltd. Dynamic memory voltage scaling for power management
CN102692948A (zh) * 2012-05-21 2012-09-26 珠海市杰理科技有限公司 片上系统实现的实时时钟低功耗控制电路

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110622143A (zh) * 2017-05-19 2019-12-27 高通股份有限公司 用于对经由ddr接口参数的特定于设备的自定义来减少存储器功耗的系统和方法
CN110941574A (zh) * 2018-09-21 2020-03-31 三星电子株式会社 数据处理装置和与存储装置通信的方法
WO2024021786A1 (zh) * 2022-07-28 2024-02-01 华为技术有限公司 数据读写的方法、控制器和存储设备

Also Published As

Publication number Publication date
US20150089112A1 (en) 2015-03-26
JP6239130B2 (ja) 2017-11-29
EP3047352A1 (en) 2016-07-27
TWI627526B (zh) 2018-06-21
JP2016534484A (ja) 2016-11-04
KR20160055828A (ko) 2016-05-18
US9430434B2 (en) 2016-08-30
CN105556421B (zh) 2018-12-25
KR101914350B1 (ko) 2018-11-01
EP3047352B1 (en) 2017-03-15
TW201527947A (zh) 2015-07-16
WO2015042469A1 (en) 2015-03-26

Similar Documents

Publication Publication Date Title
CN105556421A (zh) 使用动态存储i/o调整大小来节约存储功率的系统和方法
EP3475831B1 (en) System and method for odd modulus memory channel interleaving
US9110795B2 (en) System and method for dynamically allocating memory in a memory subsystem having asymmetric memory components
US8959298B2 (en) System and method for managing performance of a computing device having dissimilar memory types
EP3069345B1 (en) System and method for reducing memory i/o power via data masking
KR20160107216A (ko) 메모리 액세스 패턴들에 기초하여 dram 페이지 충돌들을 해결하기 위한 시스템 및 방법
US20170108914A1 (en) System and method for memory channel interleaving using a sliding threshold address
WO2017095574A1 (en) Systems and methods for a hybrid parallel-serial memory access
TW201717025A (zh) 用於逐頁記憶體通道交錯之系統及方法
EP3427153B1 (en) Multi-rank collision reduction in a hybrid parallel-serial memory system
EP3417378B1 (en) Systems and methods for individually configuring dynamic random access memories sharing a common command access bus

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant