用于管理存储器的方法和设备的制造方法
【技术领域】
[0001]本公开总体上涉及一种用于管理终端中的存储器的方法和设备,更具体地讲,涉及一种能够快速恢复终端中的存储器的区域的存储器管理方法和设备。
【背景技术】
[0002]系统中的一些功能单元会需要分配物理上连续的存储缓冲器。例如,对于直接存储器访问(DMA),一些硬件始终需要物理上连续的存储缓冲器。虽然甚至存在配备有用于处理分散/集中DMA功能的硬件的功能单元,但是配备有低成本的DMA引擎的硬件会非常普遍地需要物理上连续的存储器。
[0003]这种硬件可包括相机、视频编码器/解码器(编解码器)等。具体地讲,最新的全高清(HD)视频帧具有大约2兆像素或更高的分辨率,并且需要大约6兆字节(MB)的存储器来处理全HD视频帧。这些硬件模块因高昂的制造成本而配备有简单的DMA引擎,因此这些硬件模块必需需要物理上连续的存储器来进行它们的操作。
[0004]然而,物理上连续的存储器的分配因由操作系统(OS)使用的存储器的管理性质而不能始终得以保证。OS将物理地址空间划分为小的单元的页帧,以进行管理。该方法在将逻辑上连续的存储器空间提供给OS驱动或实现的处理方面不存在问题。然而,在已经工作很长时间的终端的系统中,几乎不可能找到预定大小或更大的物理上连续的存储器空间。换言之,功能单元的驱动取决于物理存储器的碎片而不能得以保证。
[0005]这些问题对于电子装置(诸如终端)会是致命的,意味着终端的一些功能根据存储器分配是否成功而不会被驱动(即,使用)。这些不确定性是严重的问题,这是因为必须保证无论用户何时需要,可始终驱动电子装置的功能。
[0006]此外,一些功能单元需要分配特定存储器位置,或者对于功能单元,存储器的区域会需要按照预定规则被分配。因此,为了减少制造成本或为了便于开发,硬件设计者经常在设计中反映出这些限制。然而,这些限制使得物理上连续的存储器的分配更困难。
[0007]为了解决这些和其它问题,传统功能单元驱动器使用以下方式:在OS的初始驱动时,单独地保留需要的存储器区域。在OS的初始驱动时,可容易地获得物理上连续的存储器,这可使功能单元保留其操作所需的存储器区域,从而防止OS使用保留区域。该方法保证在功能单元被驱动时物理上连续的存储器的分配始终成功。因此,OS可仅使用除了由功能单元驱动器保留的存储器区域之外的区域,而存储器的保留区域可仅用于功能单元。“驱动功能单元”是指以将使功能单元访问或至少需要存储器(更具体地讲,针对所述功能单元分配/保留的存储器)的方式使用或请求功能单元的功能。“驱动”[功能单元]的另一表达可以是“使用”或“访问”[功能单元]。
[0008]图1示出包括保留区域和非保留区域的示例物理存储器。图1中的存储器具有针对视频编解码单元保留的区域101a、针对相机单元保留的区域1lb以及除了区域1la和区域1lb之外的非保留区域102,其中,OS可动态地分配非保留区域102。
[0009]然而,不合需要地,由于即使当保留区域的相关联的功能单元没有被驱动时OS也不能使用保留区域,因此存储器保留方法会造成存储器的浪费。例如,如果相机单元被激活的时间与装置的总使用时间的比率为10%或更小,则在90%或更多的相机单元没有被使用的剩余时间内,针对相机单元保留的区域根本不会被使用,从而造成存储器的浪费。
[0010]近年来,嵌入式系统将片上芯片(SoC)用作单个封装,其中,SoC是通过将多个功能单元集成为中央处理器(CPU)芯片而制造的。当嵌入在SoC中的功能单元(诸如视频编解码器)的类型和数量增加时,由于针对这些嵌入式硬件功能单元保留的存储器区域而浪费的存储器的量增加得越来越多,从而导致OS可使用的可用存储器的减少。为了补偿这些不足,广品可被配备有尚性能存储器,从而导致成本的提尚。
[0011]为了解决这些问题,本公开提供了以下方法:当具有保留存储器区域的功能单元没有被驱动时,所述保留存储器区域可被用作非保留区域,即,OS可使用的可用存储器区域。
[0012]如果在功能单元没有被驱动时将保留区域用作非保留区域时,被分配了保留存储器区域的功能单元被驱动,则OS丢弃存储在保留区域中的数据,从而如其原始目的那样,将保留区域提供或返还给功能单元。
[0013]丢弃存储在保留区域中的数据通常被称为“页迀移”。
[0014]有利地,该存储器管理技术可将针对几乎一直处于空闲状态的功能单元保留的区域用作通用目的,从而防止存储器的浪费,并增加对存储器资源的利用,进而对由于可用存储器区域的增加而带来的总体系统性能的提高做出贡献。
【发明内容】
[0015][技术问题]
[0016]然而,不合需要地,功能单元的驱动时间会因页迀移的负担而增加。
[0017]例如,如果针对相机单元保留的存储器区域被用作通用目的,则相机应用的驱动或执行可比之前延迟。现今的相机单元消耗大约10兆字节的存储器。对10兆字节的存储器空间执行页迀移会引起相机驱动时间的显著延迟。
[0018]上述信息仅被呈现为有助于本公开的理解的背景信息。对于任何上述内容是否可适用于针对本公开的现有技术,未做出任何确定,也未做出任何断言。
[0019][技术方案]
[0020]为了解决现有技术的上述缺陷,主要目的在于提供一种能够快速收回终端中的存储器的区域的存储器管理方法和设备。
[0021]本公开的另一方面在于提供一种能够在终端中以装置被驱动或启用的时间快速收回装置的保留区域的存储器管理方法和设备。
[0022]根据本公开的一个方面,提供一种用于管理终端中的存储器的方法,所述方法包括:如果分配了多个保留区域的功能单元没有被驱动,则将具有数据收回条件集中的数据收回条件的数据存储在所述多个保留区域中;如果功能单元被驱动,则基于数据收回条件集中的数据收回条件处理存储在所述多个保留区域中的一个保留区域中的数据,以恢复用于驱动功能单元的所述多个保留区域。
[0023]根据本公开的另一方面,提供一种用于管理终端中的存储器的方法。所述方法包括:如果分配了多个保留区域中的一个保留区域的功能单元没有被驱动,则以相应的功率单元的驱动频率的递减顺序,将数据存储在所述多个保留区域中的一个保留区域中,如果功能单元被驱动,则处理存储在所述多个保留区域中的一个保留区域中的数据,以恢复用于驱动功能单元的所述多个保留区域。
[0024]根据本公开的另一方面,提供一种用于管理终端中的存储器的设备。所述设备包括:视频编解码器,被驱动以进行视频记录或视频回放,且存储器具有针对所述视频编解码器的用于视频编解码器的保留区域;相机单元,被驱动以执行用于图像捕捉或视频记录的预览功能,且存储器针对所述相机单元而具有用于相机单元的保留区域;存储器包括多个保留区域和多个非保留区域,其中,如果与所述多个保留区域相应的功能单元没有被驱动,则将与针对所述多个保留区域中的每个保留区域设置的数据收回条件相应的数据存储在所述多个保留区域中,如果功能单元被驱动,则根据针对所述多个保留区域中的每个设置的数据收回条件处理存储在所述多个保留区域中的每个保留区域中的数据,以恢复用于驱动功能单元的所述多个保留区域。
[0025]根据本公开的另一方面,提供一种用于管理终端中的存储器的设备。所述设备包括:视频编解码器,被驱动以进行视频记录或视频回放,且存储器针对所述视频编解码器而具有用于视频编解码器的保留区域;相机单元,被驱动以执行用于图像捕捉或视频记录的预览功能,且存储器针对所述相机单元而具有用于相机单元的保留区域;存储器包括多个保留区域和多个非保留区域,其中,如果与所述多个保留区域相应的功能单元没有被驱动,则以相应的功率单元的驱动频率的递减顺序,将数据存储在所述多个保留区域中,如果功能单元被驱动,则处理存储在所述多个保留区域中的每个中的数据,以恢复用于驱动功能单元的所述多个保留区域。
[0026]从下面结合附图公开本公开的示例性实施例的【具体实施方式】中,本公开的其它方面、优点和显著特征对于本领域技术人员而言将变得清楚。
[0027]在开始下面的本公开的【具体实施方式】之前,阐述在本专