CN100520682C - 通过存储器压缩提高降低的功率状态的移动计算系统的电池寿命 - Google Patents
通过存储器压缩提高降低的功率状态的移动计算系统的电池寿命 Download PDFInfo
- Publication number
- CN100520682C CN100520682C CNB2007101103062A CN200710110306A CN100520682C CN 100520682 C CN100520682 C CN 100520682C CN B2007101103062 A CNB2007101103062 A CN B2007101103062A CN 200710110306 A CN200710110306 A CN 200710110306A CN 100520682 C CN100520682 C CN 100520682C
- Authority
- CN
- China
- Prior art keywords
- compression
- memory
- data
- indication
- integrated circuit
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/141—Battery and back-up supplies
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Abstract
本发明的实施例通常针对用于通过存储器压缩来提高移动计算系统的电池寿命的系统、方法和装置。在某些实施例中,集成电路包括压缩逻辑,用于不依赖于操作系统地压缩存储在存储器阵列中的数据的至少一部分。压缩逻辑可以响应于转移到降低的功率状态的指示而压缩数据。
Description
技术领域
本发明的实施例通常涉及集成电路的领域,更确切地说,涉及用于通过存储器压缩来提高处于降低的功率状态的移动计算系统的电池寿命的系统、方法和装置。
背景技术
移动计算系统利用电池提供电源。随着对电池能量的需求与日俱增,电池性能却还未跟上需求的步伐。降低计算系统的组件所消耗的功率是提高电池寿命的一种方式。
存储器设备(例如动态随机存取存储器(DRAM)设备)占计算系统所消耗的功率的很大一部分,尤其当计算系统处于降低的功率状态时。例如,根据降低的功率状态的特性以及所安装的存储器的数量,DRAM设备所消耗的功率可以占总的系统功率的将近50%。膝上型电脑的最低推荐存储器的所预计的提高,加上具有较高密度的下一代DRAM设备,将会增加系统存储器的功耗。
发明内容
根据本发明的一个方面,提供了一种集成电路,包括:输入/输出端口,其与易失性存储器进行接口;以及与所述输入/输出端口耦合的压缩逻辑模块,所述压缩逻辑模块用于不依赖于操作系统地压缩易失性存储器的内容的至少一部分,并使所压缩的部分转移到自刷新状态而同时所述易失性存储器中的剩余部分被断电。
根据本发明的另一个方面,提供了一种用于存储器压缩的方法,包括:接收转移到降低的功率状态的指示;以及响应于接收到所述转移到降低的功率状态的指示,压缩存储在存储器阵列中的数据的至少一部分,并使所压缩的部分转移到自刷新状态而同时所述存储器阵列中的剩余部分被断电。
根据本发明的再一个方面,提供了一种电子系统,包括:一个或多个存储器设备,其用于提供存储器阵列;与处理器耦合的集成电路,所述集成电路包括压缩逻辑模块,用于不依赖于操作系统地压缩存储在所述存储器阵列中的数据的至少一部分,并使所压缩的部分转移到自刷新状态而同时所述存储器阵列中的剩余部分被断电;处理器,其与所述集成电路耦合;以及天线,其与所述处理器耦合。
附图说明
在附图的各图中,以实例而非限制的方式说明本发明的实施例,其中相同的参考标号代表相似的元件。
图1是示出了根据本发明的实施例所实施的计算系统的所选方面的方框图;
图2是示出了根据本发明的可选实施例所实施的计算系统的所选方面的方框图;
图3是示出了根据本发明的实施例所实施的压缩逻辑的所选方面的方框图;
图4A和图4B分别示出了根据本发明的实施例的、存储器阵列内的数据被压缩之前和之后的存储器阵列的所选方面;
图5是示出了根据本发明的实施例的通过存储器压缩提高移动系统的电池寿命的方法的所选方面的流程图;
图6是示出根据本发明的实施例的电子系统的所选方面的方框图;
图7是示出根据本发明的可选实施例的电子系统的所选方面的方框图。
具体实施方式
本发明的实施例主要针对用于通过存储器压缩来提高移动计算系统的电池寿命的系统、方法和装置。在某些实施例中,在进入降低的功率状态之前,将系统的主存储器的内容压缩。在这种实施例中,只需要刷新主存储器中包含压缩数据的部分。存储器的剩余部分可以断开电源,这降低了所消耗的功率的量,从而延长了电池寿命。
图1是示出了根据本发明的实施例所实施的移动计算系统的所选方面的方框图。术语“移动计算系统”泛指例如膝上型电脑、掌上型电脑、图形输入板、手持设备、蜂窝电话、个人数字助理等。系统100包括处理器(多个处理器)102、存储器子系统110、永久性存储装置140,以及非易失性存储器150。在可选的实施例中,系统100可以包括更多、更少和/或不同的元件。
处理器102可以是任何种类的处理设备。例如,处理器102可以是微处理器、微控制器等。进一步地,处理器102可以包括任何数量的处理内核或者可以包括任何数量的单独的处理器。
存储器子系统110包括存储器控制器112和存储器模块118。存储器控制器112在图1所示的处理器(多个处理器)102和其它元件之间提供接口。存储器控制器112包括压缩逻辑114和输入/输出端口116。输入/输出(I/O)端口116可以包括接收器、发射器,以及用于与其它集成电路交换信息的相关电路。
在某些实施例中,压缩逻辑114包括用于压缩存储在存储器模块118中的数据的逻辑(例如压缩算法)。压缩逻辑114还可以包括用于将这些包含压缩数据(例如122)的存储器设备120选择性地转移到自刷新状态的逻辑。可以将剩余的存储器设备(例如除122以外的)的电源断开。由于处于自刷新状态的存储器设备的数量减少,所以系统所消耗的功率的量也相应地减少。术语“自刷新状态”泛指周期性地刷新存储器设备的单元的状态。下面参考图3进一步讨论压缩逻辑114的所选方面。
在某些实施例中,压缩逻辑114响应于转移到降低的功率状态的指示而压缩数据。例如,用户(或另一计算系统)可以启动整体的降低的功率状态(例如通过关闭膝上型电脑的盖子)。响应于该输入,处理器102将命令104发送给存储器控制器,以指示其转移到降低的功率状态。术语“降低的功率状态”泛指计算系统使用比其处于完全活动功率状态(active power state)更少的功率的任何功率状态。降低的功率状态的实例包括休眠、待机、软关机等。在某些实施例中,降低的功率状态是“挂起到随机存取存储器(RAM)”状态(有时称为S3状态)。下面参考图5进一步讨论对存储器中的数据的压缩。
永久性存储装置140为系统100提供对数据和代码的永久存储。永久性存储装置140可以包括磁盘或光盘和其相应的驱动器。如虚线所示,在某些可选实施例中,永久性存储装置140包括压缩软件142。压缩软件142可以补充和/或取代压缩逻辑114的某些方面。例如,在某些实施例中,压缩软件142可以为压缩逻辑114提供压缩算法。
非易失性存储器150对可以在例如系统启动和/或初始化过程期间使用的代码和/或数据提供非易失性存储。非易失性存储器150可以包括闪速存储器设备及其接口。在某些实施例中,非易失性存储器150包括配置数据152。配置数据152提供关于存储器模块118和/或存储器设备120的配置的信息。例如,配置数据152可以详细说明存储器模块的种类(例如x4、x8、x16),存储器设备的大小等。如下面进一步讨论的,压缩逻辑114可以访问配置数据152,以确定存储器子系统110的一个或多个方面的配置。
存储器模块118可以具有任意的多种结构和引脚配置。例如,可以将存储器模块118构建成双列直插存储器模块(DIMM)、小型DIMM(SO-DIMM)、微型DIMM等。可以利用具有几乎任何引脚配置(包括240引脚、144引脚、72引脚等等)的电接触连接器将存储器模块118耦合到互连124。
在可选实施例中,压缩逻辑114位于集成电路上而不是存储器控制器上。例如,压缩逻辑114可以位于芯片集中的单独的微控制器上。或者,压缩逻辑114可以位于存储器模块118上。图2是示出计算系统200的所选方面的方框图,在该计算系统200中压缩逻辑114B驻留在存储器模块118C上。
在某些实施例中,存储器模块118C包括缓冲器124。缓冲器124可以将相对高速的串行互连124C从用于与存储器设备120进行接口的相对较慢的互连分离。在某些实施例中,缓冲器124是高级存储缓冲器(AMB),其适于结合全缓冲双排直插存储器模块(FB-DIMM)技术使用。
缓冲器124包括压缩逻辑114B和I/O端口116B。在某些实施例中,压缩逻辑114B包括用于不依赖于操作系统地压缩存储在存储器设备120中的数据的逻辑。即,压缩逻辑114能够独立压缩数据,而不依赖于操作系统的存储管理器。在某些实施例中,压缩逻辑114响应于(至少部分响应于)转移到降低的功率状态的指示而压缩数据。例如,在所述实施例中,压缩逻辑114响应于来自处理器102的命令104B(例如“挂起到RAM”命令)而压缩数据。
图3是示出了根据本发明的实施例所实施的压缩逻辑的所选方面的方框图。压缩逻辑300包括控制逻辑302、读缓冲器304、压缩算法306、写缓冲器308、读指针310、写指针312,以及计时器314。在可选实施例中,压缩逻辑300可以包括更多元件、更少元件,和/或不同元件。在某些实施例中,将压缩逻辑300实现在计算系统的平台内的硬件和/或固件中(例如在存储器控制器上)。在可选实施例中,可以利用存储在永久性存储装置(例如图1中所示的永久性存储装置140)中的软件来执行压缩逻辑300的所选方面。在其它可选实施例中,压缩逻辑300可以驻留在存储器模块上。
在某些实施例中,控制逻辑302提供对压缩逻辑300的全局控制。例如,压缩逻辑302可以检测转移到低功率状态的指示(例如图1和图2所示的命令104)。其也可以控制从存储器中将数据读入读缓冲器304、压缩该数据,并从写缓冲器308将压缩数据写回到存储器的过程。读缓冲器304和写缓冲器308可以是任何的能够存储相对少量的数据的存储元件。压缩算法306可以是包括例如PKZIP压缩算法的许多压缩算法中的任何一种。
在某些实施例中,控制逻辑302使用读指针310指示要从存储器中读取的下一数据块的位置。类似地,控制逻辑302可以使用写指针312指示要将下一压缩数据块写入到存储器中的位置。下面参考图4A和图4B进一步讨论读指针310和写指针312。
在某些实施例中,当压缩逻辑300接收到系统转移到降低的功率状态的指示时,并不立即压缩存储在存储器中的数据。而是在启动压缩过程之前等待一个特定的时间段。启动压缩过程的延时防止了转换到降低的功率状态之后紧接着转换到活动功率状态的情况(例如关闭膝上型电脑的盖子,然后几乎立刻将其打开)。在该情况下,存在如下风险:即,与通过将某些存储器设备断电一个短的时间段所节约的电池能量相比,可能会使用更多的电池能量来压缩数据。通过在启动压缩过程之前等待特定长度的时间(例如几秒钟)降低了该风险,因为在经过足够的时间以表明设备要可靠地处于降低的功率状态相当长度的时间(例如数十秒、分钟、小时等)之前,并不使用电池能量来压缩数据。
在某些实施例中,压缩逻辑300使用计时器314以确定是否已经过去了特定长度的时间。计时器314可以是许多能够实现在集成电路中的计时器中的任何一种。在可选实施例中,压缩逻辑300可以使用不同的机制来确定是否已经过去了特定的时间。在其它可选实施例中,压缩逻辑300未等待特定长度的时间就启动压缩过程。
在某些实施例中,压缩逻辑300以成块方式压缩数据。即,压缩逻辑300读取具有特定块大小的数据块,将其压缩,将压缩的块写回到存储器,然后对下一数据块重复该过程,直到存储在存储器中的所有数据都被压缩。在某些实施例中,块大小为128字节。在可选实施例中,块大小可以是例如64字节、256字节或任何其它的适于支持所需压缩率的大小。
在某些实施例中,存在多条从存储器控制器到DIMM的通道,并且可以在两条通道同时进行压缩(例如以提高压缩速度)。例如,考虑一种实施例,其中膝上型电脑具有两条通道。在这种实施例中,系统可以具有用于每一通道的专用读/写缓冲器(例如304、308)。系统还可以具有用于每一通道的专用的压缩/解压缩控制器(例如302)。或者,系统可以具有一个为两条通道所共享的控制器。压缩逻辑可以与输入/输出(I/O)操作重叠。例如,当将压缩数据写出到通道2时,控制器可以为通道1压缩数据。
图4A和图4B是示出了根据本发明的实施例的以成块方式压缩数据的一个实例的概念图。在某些实施例中,压缩逻辑读取一个(例如具有特定的块大小的)数据块,压缩该数据以产生压缩的数据块,将压缩的数据块写入存储器,然后重复该过程,直到存储器中的所有数据都被压缩。存储器阵列402代表由单阵列中的存储器子系统所提供的存储器位置(例如从最低地址的存储器位置到最高地址的存储器位置)。在某些实施例中,压缩逻辑(例如图3中所示的压缩逻辑300)以具有特定块大小的块读出存储在存储器阵列402中的数据。在所述实施例中,块大小为128字节。在某些实施例中,读指针406指示要从存储器读取的下一数据块。
图4B示出了根据本发明的实施例的、压缩的数据块已被写入的存储器阵列的实例。存储器阵列404包括压缩的块410和412。如图4B中所示,由于压缩算法可以将某些数据压缩至比其他数据更大的程度,所以每一压缩的块可以具有不同的块大小。在某些实施例中,写指针414指示下一压缩的数据块要被写入存储器中的位置(和/或最后的压缩的数据块被写入存储器中的位置)。
图5是示出了根据本发明的实施例的、用于通过存储器压缩来提高移动计算系统的电池寿命的方法的所选方面的流程图。参考过程方框502,压缩逻辑接收转移到降低的功率状态的指示。“接收指示”的说法泛指,例如,直接或间接地接收到转移到降低的功率状态的命令、指令、信号,或者任何其它指示。例如,在某些实施例中,压缩逻辑接收到转移到“挂起到RAM”状态的命令。
参考过程方框504,压缩逻辑等待计时器计时结束。计时器的目的是提供延时,从而只有系统要可靠地处于降低的功率状态相当长一段时间(例如数十秒、分钟、小时等)时,才压缩存储器的内容。在某些实施例中,不等待计时器计时结束就运行压缩逻辑。参考过程方框506,压缩逻辑初始化读指针和/或写指针。
参考过程方框508,压缩逻辑从存储器中读出一个数据块。在某些实施例中,将数据从存储器读到读缓冲器(例如图3中所示的读缓冲器304)中。读指针可以前进块大小(例如64字节、128字节、256字节等)。在510压缩该数据块。在某些实施例中,利用硬件(例如在存储器控制器上)执行数据压缩,且不依赖于操作系统。在可选实施例中,可以利用存储在永久性存储装置中的软件来提供压缩算法。
参考过程方框512,压缩逻辑确定是否已发生负压缩。例如,压缩逻辑可以确定压缩的块的大小是否比未压缩的源块的大小更大。如果是,则将源块(例如未压缩的块)写回到存储器(514)。另外,写指针前进源块的大小(514)。
参考过程方框516,如果未发生负压缩,则将压缩的数据块从例如写缓冲器(例如图3中所示的写缓冲器308)写入到存储器。在某些实施例中,写指针前进压缩的块的大小。压缩逻辑在518确定是否已压缩了最后的数据块。确定是否已压缩了最后的数据块可以包括确定读指针是否已遍历存储器阵列(例如使用图1中所示的配置152)。
如果已压缩了最后的数据块,则压缩逻辑将存储器子系统转移到降低的功率状态(520)。例如,如果存储器设备包括压缩数据,则压缩逻辑将存储器设备转移到自刷新状态。如果该设备不包括压缩数据,则压缩逻辑可以使该设备不活动。因为许多存储器设备不活动,所以系统所消耗的电池能量的量降低。在某些实施例中,压缩逻辑例如使用写指针和存储器子系统的配置数据来确定哪些存储器设备包含压缩数据,哪些存储器设备不包含压缩数据。
对数据进行压缩之后,压缩逻辑可以实施解压缩阶段。解压缩阶段可以响应于转移到升高的功率状态的指示而出现。转移到升高的功率状态的指示可以包括用于从降低的功率状态转移出来的任何的信号、命令等。例如,在某些实施例中,转移到升高的功率状态的指示可以包括打开膝上型电脑的盖子。在某些实施例中,通过从压缩的数据块的末端反向操作来执行解压缩。
图6是示出了根据本发明的实施例的电子系统的所选方面的方框图。电子系统600包括处理器610、存储器控制器620、存储器630、输入/输出(I/O)控制器640、射频(RF)电路650,以及天线660。在操作中,系统600利用天线660发送和接收信号,并利用图6中所示的各种元件来处理这些信号。天线660可以是定向天线或全向天线。如这里所使用的,术语全向天线是指在至少一个平面内具有基本上均匀的方向图的任何天线。例如,在某些实施例中,天线660可以是诸如偶极子天线或四分之一波长天线等的全向天线。又例如,在某些实施例中,天线660可以是诸如抛物柱面反射器天线、贴片天线或八木天线等定向天线。在某些实施例中,天线660可以包括多个物理天线。
射频电路650与天线660和I/O控制器640通信。在某些实施例中,RF电路650包括符合通信协议的物理接口(PHY)。例如,RF电路650可以包括调制器、解调器、混频器、频率合成器、低噪声放大器、功率放大器等。在某些实施例中,RF电路650可以包括外差接收器,而在其它实施例中,RF电路650可以包括直接变换接收器。例如,在具有多个天线660的实施例中,可以将每个天线耦合到相应的接收器。在操作中,RF电路650接收来自天线660的通信信号,并向I/O控制器640提供模拟或数字信号。此外,I/O控制器640可以向RF电路650提供信号,RF电路650对信号进行操作,然后将其传送到天线660。
处理器(多个处理器)610可以是任何种类的处理设备。例如,处理器610可以是微处理器、微控制器等。此外,处理器610可以包括任意数量的处理内核,或者可以包括任意数量的单独的处理器。
存储器控制器620在图6示出的处理器610和其它元件之间提供通信路径。在某些实施例中,存储器控制器620是还提供其它功能的集线器设备的一部分。如图6所示,存储器控制器620耦合到处理器(多个处理器)610、I/O控制器640和存储器630。在某些实施例中,存储器控制器620包括压缩逻辑622。压缩逻辑622可以通过存储器压缩来提高系统600的电池寿命。
存储器630可以包括多个存储器设备。这些存储器设备可以基于任意种类的存储器技术。例如,存储器630可以是随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、诸如闪速存储器的非易失性存储器,或任何其它种类的存储器。
存储器630可以表示一个或多个模块上的单个存储器设备或许多存储器设备。存储器控制器620通过互连622向存储器630提供数据,并响应于读请求从存储器630接收数据。可以通过互连622或通过不同的互连(未示出)向存储器630提供命令和/或地址。存储器控制器630可以从处理器610或从另一来源接收要存储在存储器630中的数据。存储器控制器620可以向处理器610或向另一目的地提供其从存储器630接收的数据。互连622可以是双向互连或单向互连。互连622可以包括许多平行导线。信号可以是差分的或单端的。在某些实施例中,互连622使用前向、多相时钟方案进行操作。
存储器控制器620还耦合到I/O控制器640,并在处理器(多个处理器)610和I/O控制器640之间提供通信路径。I/O控制器640包括用于与诸如串行端口、并行端口、通用串行总线(USB)端口等的I/O电路进行通信的电路。如图6所示,I/O控制器640提供到RF电路650的通信路径。
图7是示出了根据本发明的可选实施例的电子系统的所选方面的方框图。电子系统700包括存储器630、I/O控制器640、RF电路650,以及天线660,其均参考图6在上面进行了描述。电子系统700还包括处理器(多个处理器)710和存储器控制器720。如图7所示,存储控制器720与处理器(多个处理器)710可以处于同一管芯上。在某些实施例中,存储器控制器720包括压缩逻辑722。压缩逻辑722可以通过存储器压缩来提高系统700的电池寿命。处理器(多个处理器)710可以是参考处理器610的如上所述的任何种类的处理器。图6和图7所代表的示例系统包括桌上型电脑、膝上型电脑、服务器、蜂窝电话、个人数字助理、数字家庭系统等。
还可以提供本发明的实施例的元件作为用于存储机器可执行指令的机器可读介质。机器可读介质可以包括但不限于闪速存储器、光盘、光盘只读存储器(CD-ROM)、数字多用/视频光盘(DVD)ROM、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、传播介质或其它种类的适于存储电子命令的机器可读介质。例如,经由通信链路(例如调制解调器或网络连接),通过载波或其它传播介质中包含的数据信号的方式,可以将本发明的实施例作为可以从远程电脑(例如服务器)传送给发出请求的电脑(例如客户端)的电脑程序来进行下载。
应该理解,在整个说明书中的“一个实施例”或“实施例”表明,结合该实施例所描述的特定的特征、结构或特性包括在本发明的至少一个实施例中。因此,需要强调且应该理解的是,在该说明书的各个部分两次或多次引用“实施例”或“一个实施例”或“可选实施例”不一定都是指同一实施例。此外,可以将特定的特征、结构或特性适当地结合在本发明的一个或多个实施例中。
同样,应该理解,在上述的对本发明的实施例的描述中,为了简化帮助理解一个或多个不同的发明方面的公开的目的,有时将各种特征集合在一个实施例、附图或其描述中。然而,不应将该公开的方法理解为所权利要求的主体需要比在每一权利要求中所清楚地陈述的更多的特征的意图的反映。相反地,如所附权利要求所反映的那样,发明的方面比在上述的单个公开的实施例中的所有特征要少。因此,将该详细描述之后的权利要求清楚地并入该详细描述中。
Claims (23)
1、一种集成电路,包括:
输入/输出端口,其与易失性存储器进行接口;以及
与所述输入/输出端口耦合的压缩逻辑模块,所述压缩逻辑模块用于不依赖于操作系统地压缩易失性存储器的内容的至少一部分,并使所压缩的部分转移到自刷新状态而同时所述易失性存储器中的剩余部分被断电。
2、如权利要求1所述的集成电路,其中所述压缩逻辑模块用于响应于转移到降低的功率状态的指示,压缩易失性存储器中的所述内容的至少一部分。
3、如权利要求2所述的集成电路,其中所述转移到降低的功率状态的指示包括:
转移到“挂起到随机存取存储器”状态的命令。
4、如权利要求2所述的集成电路,其中所述压缩逻辑模块还包括:
计时器,其用于在接收到所述转移到降低的功率状态的指示之后,指示何时经过了阈值时间段。
5、如权利要求2所述的集成电路,其中所述压缩逻辑模块还包括:
第一缓冲器,其用于存储从易失性存储器读取的数据块。
6、如权利要求5所述的集成电路,其中所述压缩逻辑模块还包括:
第二缓冲器,其用于存储要写入易失性存储器的压缩的数据块。
7、如权利要求2所述的集成电路,其中所述压缩逻辑模块包括为易失性存储器中的每一存储器设备分别设定功率状态的逻辑模块。
8、如权利要求2所述的集成电路,其中所述压缩逻辑模块还包括:
读指针,其用于指向未压缩的数据块;以及
写指针,其用于指向压缩的数据块。
9、如权利要求1所述的集成电路,其中所述集成电路包括存储器控制器。
10、一种用于存储器压缩的方法,包括:
接收转移到降低的功率状态的指示;以及
响应于接收到所述转移到降低的功率状态的指示,压缩存储在存储器阵列中的数据的至少一部分,并使所压缩的部分转移到自刷新状态而同时所述存储器阵列中的剩余部分被断电。
11、如权利要求10所述的方法,其中接收转移到降低的功率状态的指示包括:
接收“挂起到随机存取存储器”命令。
12、如权利要求10所述的方法,其中响应于接收到所述转移到降低的功率状态的指示,压缩存储在存储器阵列中的数据的至少一部分,包括:
不依赖于操作系统地压缩存储在所述存储器阵列中的数据的至少一部分。
13、如权利要求12所述的方法,还包括:
确定是否已经过去了阈值时间段。
14、如权利要求13所述的方法,其中压缩存储在所述存储器阵列中的数据的至少一部分包括:
如果已经过去了所述阈值时间段,则压缩存储在所述存储器阵列中的所述数据的至少一部分。
15、如权利要求12所述的方法,其中不依赖于操作系统地压缩存储在所述存储器阵列中的数据的至少一部分,包括:
从易失性存储器读取下一数据块;
压缩所述下一数据块,以产生压缩的数据块;以及
将所述压缩的数据块写入易失性存储器。
16、如权利要求10所述的方法,还包括:
在压缩了存储在所述存储器阵列中的所述数据的至少一部分之后,转移到降低的功率状态。
17、如权利要求10所述的方法,还包括:
接收转移到活动功率状态的指示;以及
响应于接收到所述转移到活动功率状态的指示,解压缩存储在所述存储器阵列中的压缩数据的至少一部分。
18、一种电子系统,包括:
一个或多个存储器设备,其用于提供存储器阵列;
与处理器耦合的集成电路,所述集成电路包括压缩逻辑模块,用于不依赖于操作系统地压缩存储在所述存储器阵列中的数据的至少一部分,并使所压缩的部分转移到自刷新状态而同时所述存储器阵列中的剩余部分被断电;
处理器,其与所述集成电路耦合;以及
天线,其与所述处理器耦合。
19、如权利要求18所述的系统,其中所述压缩逻辑模块至少部分地响应于来自所述处理器的转移到降低的功率状态的指示,压缩存储在所述存储器阵列中的所述数据的至少一部分。
20、如权利要求19所述的系统,其中所述转移到降低的功率状态的指示包括:
转移到“挂起到随机存取存储器”状态的命令。
21、如权利要求19所述的系统,其中所述压缩逻辑模块还包括:
计时器,其用于在接收到所述转移到降低的功率状态的指示之后,指示何时经过了阈值时间段。
22、如权利要求19所述的系统,其中所述压缩逻辑模块还包括:
用于为所述存储器阵列中的每一存储器设备分别设定功率状态的逻辑模块。
23、如权利要求18所述的系统,其中所述集成电路包括:
存储器控制器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/450,214 US20070291571A1 (en) | 2006-06-08 | 2006-06-08 | Increasing the battery life of a mobile computing system in a reduced power state through memory compression |
US11/450,214 | 2006-06-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101086680A CN101086680A (zh) | 2007-12-12 |
CN100520682C true CN100520682C (zh) | 2009-07-29 |
Family
ID=38318848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101103062A Expired - Fee Related CN100520682C (zh) | 2006-06-08 | 2007-06-08 | 通过存储器压缩提高降低的功率状态的移动计算系统的电池寿命 |
Country Status (5)
Country | Link |
---|---|
US (2) | US20070291571A1 (zh) |
CN (1) | CN100520682C (zh) |
DE (1) | DE102007025948A1 (zh) |
GB (1) | GB2439428B (zh) |
TW (1) | TWI343519B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107077189A (zh) * | 2014-11-20 | 2017-08-18 | 高通股份有限公司 | 用于降低便携式计算设备中的易失性存储器待机功率的系统和方法 |
Families Citing this family (87)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8239735B2 (en) | 2006-05-12 | 2012-08-07 | Apple Inc. | Memory Device with adaptive capacity |
CN103258572B (zh) | 2006-05-12 | 2016-12-07 | 苹果公司 | 存储设备中的失真估计和消除 |
US8156403B2 (en) | 2006-05-12 | 2012-04-10 | Anobit Technologies Ltd. | Combined distortion estimation and error correction coding for memory devices |
US8694684B2 (en) * | 2006-08-21 | 2014-04-08 | Citrix Systems, Inc. | Systems and methods of symmetric transport control protocol compression |
WO2008026203A2 (en) | 2006-08-27 | 2008-03-06 | Anobit Technologies | Estimation of non-linear distortion in memory devices |
US7975192B2 (en) | 2006-10-30 | 2011-07-05 | Anobit Technologies Ltd. | Reading memory cells using multiple thresholds |
US7924648B2 (en) * | 2006-11-28 | 2011-04-12 | Anobit Technologies Ltd. | Memory power and performance management |
US8151163B2 (en) | 2006-12-03 | 2012-04-03 | Anobit Technologies Ltd. | Automatic defect management in memory devices |
US8151166B2 (en) | 2007-01-24 | 2012-04-03 | Anobit Technologies Ltd. | Reduction of back pattern dependency effects in memory devices |
CN101715595A (zh) | 2007-03-12 | 2010-05-26 | 爱诺彼得技术有限责任公司 | 存储器单元读取阈的自适应估计 |
US8001320B2 (en) | 2007-04-22 | 2011-08-16 | Anobit Technologies Ltd. | Command interface for memory devices |
US8234545B2 (en) | 2007-05-12 | 2012-07-31 | Apple Inc. | Data storage with incremental redundancy |
WO2008139441A2 (en) | 2007-05-12 | 2008-11-20 | Anobit Technologies Ltd. | Memory device with internal signal processing unit |
US7925936B1 (en) | 2007-07-13 | 2011-04-12 | Anobit Technologies Ltd. | Memory device with non-uniform programming levels |
US8259497B2 (en) | 2007-08-06 | 2012-09-04 | Apple Inc. | Programming schemes for multi-level analog memory cells |
US8174905B2 (en) | 2007-09-19 | 2012-05-08 | Anobit Technologies Ltd. | Programming orders for reducing distortion in arrays of multi-level analog memory cells |
US8527819B2 (en) | 2007-10-19 | 2013-09-03 | Apple Inc. | Data storage in analog memory cell arrays having erase failures |
US8000141B1 (en) | 2007-10-19 | 2011-08-16 | Anobit Technologies Ltd. | Compensation for voltage drifts in analog memory cells |
US8068360B2 (en) | 2007-10-19 | 2011-11-29 | Anobit Technologies Ltd. | Reading analog memory cells using built-in multi-threshold commands |
US8270246B2 (en) | 2007-11-13 | 2012-09-18 | Apple Inc. | Optimized selection of memory chips in multi-chips memory devices |
US8225181B2 (en) | 2007-11-30 | 2012-07-17 | Apple Inc. | Efficient re-read operations from memory devices |
US8209588B2 (en) | 2007-12-12 | 2012-06-26 | Anobit Technologies Ltd. | Efficient interference cancellation in analog memory cell arrays |
US8456905B2 (en) * | 2007-12-16 | 2013-06-04 | Apple Inc. | Efficient data storage in multi-plane memory devices |
US8085586B2 (en) | 2007-12-27 | 2011-12-27 | Anobit Technologies Ltd. | Wear level estimation in analog memory cells |
US8156398B2 (en) | 2008-02-05 | 2012-04-10 | Anobit Technologies Ltd. | Parameter estimation based on error correction code parity check equations |
US7924587B2 (en) | 2008-02-21 | 2011-04-12 | Anobit Technologies Ltd. | Programming of analog memory cells using a single programming pulse per state transition |
US8230300B2 (en) | 2008-03-07 | 2012-07-24 | Apple Inc. | Efficient readout from analog memory cells using data compression |
US8059457B2 (en) | 2008-03-18 | 2011-11-15 | Anobit Technologies Ltd. | Memory device with multiple-accuracy read commands |
US8400858B2 (en) | 2008-03-18 | 2013-03-19 | Apple Inc. | Memory device with reduced sense time readout |
US9772936B2 (en) | 2008-07-10 | 2017-09-26 | Micron Technology, Inc. | Data collection and compression in a solid state storage device |
US8498151B1 (en) | 2008-08-05 | 2013-07-30 | Apple Inc. | Data storage in analog memory cells using modified pass voltages |
US7924613B1 (en) | 2008-08-05 | 2011-04-12 | Anobit Technologies Ltd. | Data storage in analog memory cells with protection against programming interruption |
US8949684B1 (en) | 2008-09-02 | 2015-02-03 | Apple Inc. | Segmented data storage |
US8169825B1 (en) | 2008-09-02 | 2012-05-01 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells subjected to long retention periods |
US8000135B1 (en) | 2008-09-14 | 2011-08-16 | Anobit Technologies Ltd. | Estimation of memory cell read thresholds by sampling inside programming level distribution intervals |
US8482978B1 (en) | 2008-09-14 | 2013-07-09 | Apple Inc. | Estimation of memory cell read thresholds by sampling inside programming level distribution intervals |
US8239734B1 (en) | 2008-10-15 | 2012-08-07 | Apple Inc. | Efficient data storage in storage device arrays |
US8261159B1 (en) | 2008-10-30 | 2012-09-04 | Apple, Inc. | Data scrambling schemes for memory devices |
US8208304B2 (en) | 2008-11-16 | 2012-06-26 | Anobit Technologies Ltd. | Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N |
US8248831B2 (en) | 2008-12-31 | 2012-08-21 | Apple Inc. | Rejuvenation of analog memory cells |
US8174857B1 (en) | 2008-12-31 | 2012-05-08 | Anobit Technologies Ltd. | Efficient readout schemes for analog memory cell devices using multiple read threshold sets |
US8924661B1 (en) | 2009-01-18 | 2014-12-30 | Apple Inc. | Memory system including a controller and processors associated with memory devices |
US8228701B2 (en) | 2009-03-01 | 2012-07-24 | Apple Inc. | Selective activation of programming schemes in analog memory cell arrays |
US8832354B2 (en) | 2009-03-25 | 2014-09-09 | Apple Inc. | Use of host system resources by memory controller |
US8259506B1 (en) | 2009-03-25 | 2012-09-04 | Apple Inc. | Database of memory read thresholds |
US8238157B1 (en) | 2009-04-12 | 2012-08-07 | Apple Inc. | Selective re-programming of analog memory cells |
US8479080B1 (en) | 2009-07-12 | 2013-07-02 | Apple Inc. | Adaptive over-provisioning in memory systems |
US8495465B1 (en) | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
US8645738B2 (en) * | 2009-10-27 | 2014-02-04 | Nokia Corporation | Nonvolatile device |
US8677054B1 (en) | 2009-12-16 | 2014-03-18 | Apple Inc. | Memory management schemes for non-volatile memory devices |
US8694814B1 (en) | 2010-01-10 | 2014-04-08 | Apple Inc. | Reuse of host hibernation storage space by memory controller |
US8572311B1 (en) | 2010-01-11 | 2013-10-29 | Apple Inc. | Redundant data storage in multi-die memory systems |
US8667191B2 (en) * | 2010-01-15 | 2014-03-04 | Kingston Technology Corporation | Managing and indentifying multiple memory storage devices |
US8694853B1 (en) | 2010-05-04 | 2014-04-08 | Apple Inc. | Read commands for reading interfering memory cells |
US8572423B1 (en) | 2010-06-22 | 2013-10-29 | Apple Inc. | Reducing peak current in memory systems |
US8533550B2 (en) | 2010-06-29 | 2013-09-10 | Intel Corporation | Method and system to improve the performance and/or reliability of a solid-state drive |
US8595591B1 (en) | 2010-07-11 | 2013-11-26 | Apple Inc. | Interference-aware assignment of programming levels in analog memory cells |
US9104580B1 (en) | 2010-07-27 | 2015-08-11 | Apple Inc. | Cache memory for hybrid disk drives |
US8645794B1 (en) | 2010-07-31 | 2014-02-04 | Apple Inc. | Data storage in analog memory cells using a non-integer number of bits per cell |
US8856475B1 (en) | 2010-08-01 | 2014-10-07 | Apple Inc. | Efficient selection of memory blocks for compaction |
US8694854B1 (en) | 2010-08-17 | 2014-04-08 | Apple Inc. | Read threshold setting based on soft readout statistics |
US9021181B1 (en) | 2010-09-27 | 2015-04-28 | Apple Inc. | Memory management for unifying memory cell conditions by using maximum time intervals |
CN103562880A (zh) * | 2011-05-26 | 2014-02-05 | 索尼爱立信移动通讯有限公司 | 用于无线设备的优化休眠模式 |
US9436251B2 (en) * | 2011-10-01 | 2016-09-06 | Intel Corporeation | Fast platform hibernation and resumption of computing systems |
TWI493563B (zh) * | 2012-01-06 | 2015-07-21 | Acer Inc | 記憶體管理方法及應用該方法之電子裝置 |
CN103246479A (zh) * | 2012-02-06 | 2013-08-14 | 宏碁股份有限公司 | 记忆体管理方法及应用该方法的电子装置 |
US9323317B2 (en) * | 2012-12-12 | 2016-04-26 | International Business Machines Corporation | System and methods for DIMM-targeted power saving for hypervisor systems |
US9454214B2 (en) * | 2013-03-12 | 2016-09-27 | Intel Corporation | Memory state management for electronic device |
US20140310552A1 (en) * | 2013-04-15 | 2014-10-16 | Advanced Micro Devices, Inc. | Reduced-power sleep state s3 |
GB2514397B (en) | 2013-05-23 | 2017-10-11 | Linear Algebra Tech Ltd | Corner detection |
US11768689B2 (en) | 2013-08-08 | 2023-09-26 | Movidius Limited | Apparatus, systems, and methods for low power computational imaging |
US9727113B2 (en) | 2013-08-08 | 2017-08-08 | Linear Algebra Technologies Limited | Low power computational imaging |
US9146747B2 (en) | 2013-08-08 | 2015-09-29 | Linear Algebra Technologies Limited | Apparatus, systems, and methods for providing configurable computational imaging pipeline |
US9910675B2 (en) | 2013-08-08 | 2018-03-06 | Linear Algebra Technologies Limited | Apparatus, systems, and methods for low power computational imaging |
US10001993B2 (en) | 2013-08-08 | 2018-06-19 | Linear Algebra Technologies Limited | Variable-length instruction buffer management |
US9196017B2 (en) | 2013-11-15 | 2015-11-24 | Linear Algebra Technologies Limited | Apparatus, systems, and methods for removing noise from an image |
US9270872B2 (en) | 2013-11-26 | 2016-02-23 | Linear Algebra Technologies Limited | Apparatus, systems, and methods for removing shading effect from image |
US20160246715A1 (en) * | 2015-02-23 | 2016-08-25 | Advanced Micro Devices, Inc. | Memory module with volatile and non-volatile storage arrays |
US10303235B2 (en) * | 2015-03-04 | 2019-05-28 | Qualcomm Incorporated | Systems and methods for implementing power collapse in a memory |
US10460704B2 (en) | 2016-04-01 | 2019-10-29 | Movidius Limited | Systems and methods for head-mounted display adapted to human visual mechanism |
US10372888B2 (en) * | 2016-12-14 | 2019-08-06 | Google Llc | Peripheral mode for convertible laptops |
US20190065088A1 (en) * | 2017-08-30 | 2019-02-28 | Micron Technology, Inc. | Random access memory power savings |
US10949947B2 (en) | 2017-12-29 | 2021-03-16 | Intel Corporation | Foveated image rendering for head-mounted display devices |
KR20200034499A (ko) * | 2018-09-21 | 2020-03-31 | 삼성전자주식회사 | 메모리 장치와 통신하는 데이터 처리 장치 및 방법 |
CN112748792A (zh) * | 2019-10-31 | 2021-05-04 | 福州瑞芯微电子股份有限公司 | 降低动态随机存储器的功耗的方法、系统、介质及装置 |
US11556416B2 (en) | 2021-05-05 | 2023-01-17 | Apple Inc. | Controlling memory readout reliability and throughput by adjusting distance between read thresholds |
US11847342B2 (en) | 2021-07-28 | 2023-12-19 | Apple Inc. | Efficient transfer of hard data and confidence levels in reading a nonvolatile memory |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04223510A (ja) * | 1990-12-26 | 1992-08-13 | Canon Inc | 情報処理装置 |
US5524248A (en) * | 1993-07-06 | 1996-06-04 | Dell Usa, L.P. | Random access memory power management system |
JPH07160595A (ja) * | 1993-12-06 | 1995-06-23 | Yamatake Honeywell Co Ltd | 揮発性メモリのデータ保持方法およびその装置 |
WO1996018940A1 (en) * | 1994-12-16 | 1996-06-20 | Elonex Technologies, Inc. | Management of data before zero volt suspend in computer power management |
TW413771B (en) * | 1994-12-27 | 2000-12-01 | Cyrix Corp | Image regeneration compression system, the computer containing the same, and the image regeneration method |
DE19629130A1 (de) * | 1996-07-19 | 1998-05-14 | Philips Patentverwaltung | Signalprozessor |
JPH10116138A (ja) * | 1996-10-14 | 1998-05-06 | Casio Electron Mfg Co Ltd | メモリへの電源供給制御装置 |
JPH11282587A (ja) * | 1998-03-26 | 1999-10-15 | Canon Inc | メモリーバックアップ装置 |
US6195024B1 (en) * | 1998-12-11 | 2001-02-27 | Realtime Data, Llc | Content independent data compression method and system |
US20010054131A1 (en) * | 1999-01-29 | 2001-12-20 | Alvarez Manuel J. | System and method for perfoming scalable embedded parallel data compression |
US6334123B1 (en) * | 1999-09-03 | 2001-12-25 | Whamtech, Inc. | Index relational processor |
US6416410B1 (en) * | 1999-12-03 | 2002-07-09 | Nintendo Co., Ltd. | Data compression/decompression based on pattern and symbol run length encoding for use in a portable handheld video game system |
US6519733B1 (en) * | 2000-02-23 | 2003-02-11 | International Business Machines Corporation | Method and apparatus for high integrity hardware memory compression |
JP4131779B2 (ja) * | 2001-01-25 | 2008-08-13 | 株式会社東芝 | ディジタル保護制御装置 |
US7058829B2 (en) * | 2002-08-14 | 2006-06-06 | Intel Corporation | Method and apparatus for a computing system having an active sleep mode CPU that uses the cache of a normal active mode CPU |
DE10343525B4 (de) * | 2002-09-27 | 2011-06-16 | Qimonda Ag | Verfahren zum Betreiben von Halbleiterbausteinen, Steuervorrichtung für Halbleiterbausteine und Anordnung zum Betreiben von Speicherbausteinen |
-
2006
- 2006-06-08 US US11/450,214 patent/US20070291571A1/en not_active Abandoned
-
2007
- 2007-06-04 DE DE102007025948A patent/DE102007025948A1/de not_active Ceased
- 2007-06-05 TW TW096120087A patent/TWI343519B/zh not_active IP Right Cessation
- 2007-06-06 GB GB0710876A patent/GB2439428B/en not_active Expired - Fee Related
- 2007-06-08 CN CNB2007101103062A patent/CN100520682C/zh not_active Expired - Fee Related
-
2013
- 2013-12-02 US US14/094,774 patent/US20140089711A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107077189A (zh) * | 2014-11-20 | 2017-08-18 | 高通股份有限公司 | 用于降低便携式计算设备中的易失性存储器待机功率的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
US20070291571A1 (en) | 2007-12-20 |
DE102007025948A1 (de) | 2008-01-03 |
TW200813700A (en) | 2008-03-16 |
GB2439428A (en) | 2007-12-27 |
US20140089711A1 (en) | 2014-03-27 |
GB0710876D0 (en) | 2007-07-18 |
TWI343519B (en) | 2011-06-11 |
CN101086680A (zh) | 2007-12-12 |
GB2439428B (en) | 2010-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100520682C (zh) | 通过存储器压缩提高降低的功率状态的移动计算系统的电池寿命 | |
CN100576338C (zh) | 用于存储设备热感器的动态功率控制的系统、设备和方法 | |
US10892001B2 (en) | Protocol for refresh between a memory controller and a memory device | |
KR101576236B1 (ko) | Ddr dram 쓰기들을 하는 동안에 사용되지 않는 데이터 바이트들을 삼상태로 만들기 위한 방법, 시스템 및 장치 | |
US9208837B2 (en) | Apparatus and method for data movement | |
TW201009567A (en) | Method, system and apparatus for power management of a link interconnect | |
EP3931830B1 (en) | Enhanced data clock operations in memory | |
JP2005174337A (ja) | メモリシステムおよびホストとメモリカードとの間のデータ伝送速度設定方法 | |
EP1248267A2 (en) | Semiconductor memory device and information processing system | |
CN101542629B (zh) | 存储器设备和计算系统 | |
CN102403033A (zh) | 用fpga实现快速sram读写控制的装置及方法 | |
CN1937075B (zh) | 数据传送操作完成检测电路和包含其的半导体存储器件 | |
US7321980B2 (en) | Software power control of circuit modules in a shared and distributed DMA system | |
EP4160380A1 (en) | Data read-write method, and hybrid memory | |
KR20180102268A (ko) | 메모리 모듈 및 이를 포함하는 메모리 시스템 | |
CN202067260U (zh) | 一种减少数据传输的缓存系统 | |
WO2021242316A1 (en) | Shaped and optimized power cycles | |
US20080192559A1 (en) | Bank interleaving compound commands | |
CN102110065B (zh) | 一种减少数据传输的缓存系统 | |
US20040128577A1 (en) | Add-in module providing always-on connectivity for mobile personal computer | |
US20130031348A1 (en) | Communicating Operating System Booting Information | |
CN216901481U (zh) | 基于ft2000-4 cpu的工控主板 | |
JP2005531084A (ja) | 情報を転送する方法および装置 | |
US20230266891A1 (en) | Sleep control method and sleep control circuit | |
CN115114197B (zh) | 多存储器装置中的战略性电力模式转变 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090729 Termination date: 20190608 |