存储装置及存储装置内低功耗存储器存取方法与流程

文档序号:11519010阅读:174来源:国知局
存储装置及存储装置内低功耗存储器存取方法与流程

本发明有关于一种存储器架构,更具体地,关于一种低功耗存储装置以及存储装置内低功耗存储器存取方法,其能够使用混合存储器架构(混合存储器架构)在各种操作模式下减少功耗。



背景技术:

便携式计算或电子装置的越来越广泛的使用导致对电池电量不断增加的需求。例如手机,个人数字主力,智能机,平板电脑,电子邮件设备,音频播放器,视频播放器等设备都是具有多种功能及子系统的复杂设备。可是,动态随机存取存储器(dram)消耗了便携式设备很大部分的功耗,而平时使用中dram的维持功耗(retentionpower)通常是外部存储功耗的一半。于是,需要尽可能减少dram的功耗,以次来延长便携式设备的电池的服务寿命。



技术实现要素:

因此,本发明为了减少dram的功耗,特提出一种存储装置及存储装置内低功耗存储器存取方法。

本发明提供一种存储装置,包含:存储器控制器,耦接到第一存储器与第二存储器,其中该存储器控制器包含:存储器管理电路,用于控制该第一存储器与该第二存储器的存取;以及直接存储器存取控制器;以及处理单元,通过该存储器控制器,存取该第一存储器与该第二存储器,当该存储装置处于工作模式时,该存储器管理电路将该第二存储器储存的数据的部分复制到该第一存储器中,以待该处理单元的使用,并当该第一存储器的数据的该部分不同于该第二存储器的数据的该部分时,记录脏数据信息。

本发明另提供一种存储装置内低功耗存储器存取方法,该存储装置包含处理单元与存储器控制器,该存储装置通过该存储器控制器连接到第一存储器与第二存储器,该方法包含:当该存储装置处于工作模式时,复制储存在该第二存储器中的数据的部分到该第一存储器以待该处理单元使用;以及当该第一存储器中数据的该部分与该第二存储器中的数据的该部分不同时,记录脏数据信息。

本发明另提供一种存储装置,包含:存储器控制器,耦接到第一存储器与第二存储器,其中该存储器控制器包含:直接存储器存取控制器;以及处理单元,通过该存储器控制器,存取该第一存储器与该第二存储器,并分配该第一存储器与该第二存储器的物理存储器地址,其中当该存储装置处于工作模式时,该处理单元从该第二存储器复制数据的部分到该第一存储器以待该处理单元使用,并在该第一存储器的数据的该部分与该第二存储器的数据的该部分不同时,记录脏数据信息。

本发明所提出的存储装置及存储装置内低功耗存储器存取方法能够显著减少功耗。

本发明的这些及其他的目的对于本领域的技术人员来说,在阅读了下述优选实施例的详细说明以后是很容易理解和明白的,所述优选实施例通过多幅图予以揭示。

附图说明

图1显示本发明实施例的便携式设备100的方框示意图。

图2a显示本发明实施例的工作模式在硬件支持下的软件透明存储器存取示意图。

图2b显示本发明实施例的睡眠模式在硬件支持下软件透明存储器存取的示意图。

图2c显示本发明实施例唤醒便携式设备时软件透明存储器存取的示意图。

图3显示本发明另一实施例的便携式设备的示意图。

图4显示本发明实施例的存储器管理单元内的按需复制的示意图。

图5a~5c显示根据本发明的实施例的第一存储器130与第二存储器140的功率使用的不同组合示意图。

图6显示本发明的实施例的混合存储器架构的计算功耗的示意图。

图7显示根据本发明实施例的装置内的低功耗存储器存取流程图。

具体实施方式

本说明书及权利要求书使用了某些词语代指特定的组件。本领域的技术人员可理解的是,制造商可能使用不同的名称代指同一组件。本文件不通过名字的差别,而通过功能的差别来区分组件。在以下的说明书和权利要求书中,词语“包括”是开放式的,因此其应理解为“包括,但不限于...”。

图1显示本发明实施例的便携式设备100的方框示意图。便携式设备100包含处理单元110,存储器控制器120,第一存储器130以及第二存储器140。处理单元110可通过存储器控制器120存取第一存储器120与第二存储器130。

处理单元110包含一个或多个处理器或其他等同的功能单元或电路。在一实施例中,处理单元110与存储器控制器120可被集成进集成电路(ic)或装置190中,例如系统上芯片(system-on-chip),第一存储器130与第二存储器140在装置190之外。

第一存储器130可为易失性存储器(例如低功耗ddrsdram),其具有相较于第二存储器140更低的有效功率(有效功率)与更高的待机功率。第二存储器140可为非易失性存储器(例如磁阻随机存取存储器,(magnetoresistiverandom-accessmemory,mram)),其能在第二存储器140的供电关闭时,不需要刷新或更少刷新时间来保持数据,第二存储器具有比第一存储器130更高的有效功率。存储器控制器120包含存储器管理电路121,与直接存储器存取(directmemoryaccess,dma)控制器122,其中存储器管理电路121包含缓存123。存储器管理电路121设置以控制第一存储器与第二存储器的数据存取。举例来说,缓存123可为sram或寄存器文件(registerfile),但本发明不限于此。

图2a显示本发明实施例的在工作模式在硬件支持下软件透明存储器(software-transparentmemory)存取示意图。便携式设备100处于工作模式,处理单元110可通过存储器控制器120来存取第一存储130或第二存储器140。举例来说,处理单元110可建立软件存储器地图(softwarememorymap)200,其包含多个存储器地址(例如211~213)以及对应数据(例如221~213)。处理单元110可发送包含存储器地址的读或写命令给存储器控制器120,而存储器控制器120的存储器管理电路121可分析读或写命令中的存储器地址并确定第一存储器130或第二存储器140要被存取。具体地,存储器管理电路121将从处理单元110中的软件存储器地图200中的存储器地址翻译成物理存储器地址,该物理存储器地址对应第一存储器130或第二存储器140。

因为第一存储器130的有效功率低于第二存储器140的有效功率,当便携式设备130在工作模式时,第二存储器140中经常或重复用到的数据可被“转移”(即复制)到第一存储器130以节省功耗。另外,第二存储器140中不大会在工作模式中用到的数据不会被转移到第一存储器130,以减少第一存储器130与第二存储器140之间的数据复制(即数据专利)的余量(overhead)。举例来说,软件存储器地图200内的存储器地址211,212,及213中数据211(“aaaa”),222(“bbbb”),与223(“cccc”)分别被指向到第一存储器130的物理存储器地址214,第二存储器140的物理存储器地址215,以及第二存储器140的物理存储器地址216。假设第二存储器140储存的数据226“cccc”经常或重复使用,存储器管理电路121将到第二存储器140的物理存储器地址216保存的数据226(“cccc”)转移到第一存储器130的物理存储器地址217中,如此数据227与数据226此时是相同的。接着,存储器管理电路121将软件存储器地址212的指针从第二存储器140的物理存储器地址216改变到指向第一存储器130的物理存储器地址217。如此,存储器管理电路121可接着从第一存储器130的物理存储器地址217存取数据227“cccc”,因第一存储器130具有更低的有效功率,如此能减少便携式设备100的功耗。

可是,在数据转移中,一些数据可同时存在第一存储器130与第二存储器140中不同的物理存储器地址中。第一存储器130(即目的)内储存的数据可以与第二存储器140(即来源)内储存的数据不同,因为大多数写操作在第一存储器130执行以减少功耗。当第一存储器130与第二存储器140之间产生数据冲突时,这些数据被作为“脏数据”。存储器管理电路121将第一存储器130与第二存储器140之间的脏数据的脏数据信息(即物理存储器地址,指针等等)储存进缓存123。

图2b显示本发明实施例的睡眠模式在硬件支持下软件透明存储器存取的示意图。当便携式设备100进入睡眠模式,第一存储器130与第二存储器140被关闭来节省功耗。具体地,在便携式设备100进入睡眠模式之前,一些当前使用的存储在第一存储器130的数据应该转移到第二存储器140来防止数据丢失。

举例来说,如果储存在第一存储器130内的数据与储存在第二存储器140中的数据一致,不执行数据转移。需要注意的是,在图2a所示的数据转移之后,存储器管理电路121中的一些指针会指向第一存储器130。举例来说,软件存储器地图200中存储器地址211以及212的指针会指向第一存储器130中的物理存储器地址214与217。因此,第一存储器130中对应物理存储器地址217的数据可能被更新了,例如数据227被更新为“dddd”,这与第二存储器140对应物理存储器地址216的原始数据226“cccc”不同。具体地,如果在第一存储器130的特定物理地址中储存的数据不同于第二存储器140中对应物理存储器地址中的数据(即有脏数据存在),dma控制器122根据缓存123储存的脏数据信息,直接存取并转移储存在第一存储器130的特定物理地址中的数据到第二存储器140的对应物理存储器地址中。举例来说,本实施例中,数据226用数据227“dddd”更新。在“脏数据”从第一存储器130更新到第二存储器140之后,第一存储器130与第二存储器140能关闭来于睡眠模式节省功耗。

图2c显示本发明实施例唤醒便携式设备时软件透明存储器存取的示意图。在睡眠模式,第一存储器130与第二存储器140都关闭,之前在工作模式使用的数据利用“脏数据更新”储存到第二存储器140中。当便携式设备100被唤醒到工作模式,开启第一存储器130与第二存储器140的供电,之前使用而储存在第二存储器140(例如数据225,226与228)内的数据通过存储器控制器120被处理单元110取回,减少了唤醒时间。需要注意的是,第一存储器130是空的,此刻第一存储器130并无操作执行。在直接把第二存储器140中储存的数据取回后,便携式设备100被唤醒到工作模式,存储器控制器120可将常用的或重复使用的数据从第二存储器140转移到第一存储器130,如图2a中描述的实施例。

图3显示本发明另一实施例的便携式设备的示意图。存储器管理由处理单元110执行的软件管理单元111(例如程序代码或固件)所实施。举例来说,存储器管理单元111可发送不同的目的存储器地址给第一存储器130与第二存储器140,来存取第一存储器130与第二存储器140内储存的数据。

图4显示本发明实施例的存储器管理单元内的按需复制(on-demandcopying)的示意图。如图2a中的实施例,存储器管理单元111可将经常使用的或重复使用的数据及程序代码从第二存储器140复制到第一存储器130。举例来说,存储器管理单元111在便携式设备100在工作模式时,将第二存储器140的程序代码411及数据413复制到第一存储器130的程序代码414及数据415。另外,请注意,412中是只读的存储部分。

另外,当第一存储器130与第二存储器140之间存在数据冲突时,存储器管理单元111也记录“脏数据信息”。当便携式设备100进入睡眠模式,存储器管理单元111确定第一存储器130与第二存储器140之间是否有脏数据。如果确有脏数据,存储器管理单元111通过dma控制器122将第一存储器130中的脏数据复制到第二存储器140中对应的物理地址。具体细节与图2b的实施例类似。接着,第一存储器130与第二存储器140可在脏数据被复制到第二存储器140后关闭。如果不存在脏数据,则不需要执行转移,关闭第一存储器130与第二存储器140。

当便携式设备100从睡眠模式唤醒到工作模式,开启第一存储器130与第二存储器140的供电,处理单元111直接从第二存储器140取回所需的系统数据。需要注意的是,第一存储器130是空的,此刻第一存储器130并没有执行任何操作。在直接取回储存在第二存储器140中的系统数据后,便携式设备100被唤醒至工作模式,存储器控制器120可将经常用或重复使用的数据从第二存储器140转移到第一存储器130,如图2a的实施例所示。

图5a~5c显示根据本发明的实施例的第一存储器130与第二存储器140的功率使用的不同组合示意图。第一存储器130的功率使用如图5a所示。在时间t0与t1之间的时段,第一存储器130在工作模式且第一存储器130的有效功率是p1。在时间t1与t2之间的时段,第一存储器130处于睡眠模式,第一存储器130的维持功率(retentionpower)是p4,其中p1大于p4。第二存储器140的功率使用如图5b所示。在t0与t1之间的时段,第二存储器140处于工作模式,第二存储器140的有效功率是p2。需要注意的是,第二存储器140的有效功率高于第一存储器130的有效功率,因此p2大于p1。在时间t1与t2之间时段内,第二存储器140处于睡眠模式,第二存储器140的维持功率几乎是零。

需要注意的是,便携式设备100在第一存储器130与第二存储器140内使用混合存储器架构,混合存储器架构具有第一存储器130与第二存储器140分别处于工作模式与睡眠模式的优势。具体地,混合存储器架构的功率使用如5c所示。在时间t0与t1之间的时段,混合存储器架构处于工作模式,经常使用的或重复使用的数据被复制到具有较低有效功率的第一存储器130。因此,混合存储器架构的有效功率p5比第一存储器130的有效功率p1稍高一些。当便携式设备在时间t1开始进入睡眠模式,存储器管理电路121(或存储器管理单元111)通过dma控制器122根据储存在缓存123中的脏数据信息将脏数据(在第一存储器130与第二存储器140之间存在数据冲突的数据)从第一存储器130复制到第二存储器140。具体地,在时间t1与t4之间的时段,第一存储器130中的脏数据备份到第二存储器140中,混合存储器架构的有效功率是p3。因此,第一存储器130与第二存储器140能在时间t4关闭,混合存储器架构的维持功率几乎为零,如第二存储器140那样。

图6显示本发明的实施例的混合存储器架构的计算功耗的示意图。在一个场景中,第一存储器130的一个读命令与一个写命令的功耗是1功率单元(powerunit),第二存储器140的一个读命令与一个写命令的功耗是1.5功率单元。第一存储器130与第二存储器140的每个具有16方块(例如方块0~15),其中每个方块能储存64比特的数据。假设有四个读操作在方块0,2,4与6上执行,四个写操作在方块2与6上操作。如果便携式设备100采用了暂停储存(suspend-to-storage)技术以及恢复储存(recovery-from-storage),则第一存储器130上有4x4运行的读操作与2x4运行的写操作。当便携式设备100进入睡眠模式时,第一存储器130中每个方块中的数据都备份到第二存储器140,这样有16个读操作在第一存储器130上执行,而有16个写操作在第二存储器140上执行。另外,当便携式设备100被唤醒到工作模式时,dma控制器122首先取回储存在第二存储器140中的所有数据,然后把取回的数据写入第一存储器130,如此将便携式设备100唤醒到工作模式。换句话说,如果采用之前的技术,处理单元110总是从第一存储器130读取所需的数据。如此,该场景下先前技术的估计功率是:16x1+16x1.5功率单元用于系统恢复,16x1+8x1功率单元用于工作模式,以及16x1+16x1.5功率单元用于备份数据,总共功率是104功率单元。

与此相比,便携式设备100采用混合存储器架构,假设便携式设备100的操作系统能用方块0,2,4及6中的数据恢复。当方块0,2,4及6中每个数据在本场景下都被读四次时,方块0,2,4以及6中的数据可从第二存储器140读取一次,该数据能被写入到第一存储器中的方块0,2,4及6以待后用。因此,在方块0,2,4及6上剩余的三次读取操作,以及方块2与6上的四次写入操作可在第一存储器130上执行,以节省功耗。需要注意的是,方块2与6中的数据被作为第一存储器130与第二存储器140之间的“脏数据”,因为在第一存储器130的方块2与6上执行了四次写入操作。可是,第二存储器140的除了方块2与6之外的方块的数据并未变化。当便携式设备100进入睡眠模式时,第一存储器130的方块2与6的数据更新到第二存储器140的方块2与6中,这样需要第一存储器130的两个读取操作以及第二存储器140的两个写入操作。如此,本场景中混合存储器架构的估计功率是4x1用于系统恢复,12x1+8x1+4x1.5用于工作模式,以及2x1+2x1.5用于数据备份,总的功率是35功率单位。

需要注意的是,前述实施例的功率单元表示功耗,且能够以瓦特来测量,但是本发明并不限于此。还需要注意的是,第一存储器130与第二存储器140的功耗数值是为了描述方便,并非本发明的限制。

图7显示根据本发明实施例的装置内的低功耗存储器存取流程图。参考图1及图7,在步骤s710中,当装置在工作模式下,将第二存储器140中储存的数据的部分复制到第一存储器130以待处理单元110使用。在步骤s720中,当第一存储器的数据的部分与第二存储器中的数据的部分不同时,脏数据信息记录在存储器管理电路121中。需要注意的是,记录的脏数据信息用来当装置190进入睡眠模式时,将脏数据从第一存储器130复制到第二存储器140。因此,能够减少第一存储器130与第二存储器140的存储器存取操作。而且,当装置190从睡眠模式唤醒到工作模式时,处理单元110直接从第二存储器140取回系统数据,实现装置190的快速唤醒。

本领域的技术人员将注意到,在获得本发明的指导之后,可对所述装置和方法进行大量的修改和变换。相应地,上述公开内容应该理解为,仅通过所附加的权利要求的界限来限定。

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