存储器管理方法及存储器管理装置制造方法

文档序号:6513965阅读:228来源:国知局
存储器管理方法及存储器管理装置制造方法
【专利摘要】本发明提供一种存储器管理方法及存储器管理装置,该存储器管理装置适用于包含一工作中区域与一压缩后区域的存储器。该工作中区域用以储存未压缩的数据。该存储器管理装置包含一管理模块及一压缩/解压缩模块。该管理模块用以根据储存于该工作中区域内的一笔目标数据的一近期使用指标与一压缩率决定是否将该笔目标数据搬移至该压缩后区域。若该管理模块决定将该笔目标数据搬移至该压缩后区域,该压缩/解压缩模块将该笔目标数据压缩,并将压缩后的该笔目标数据搬移至该压缩后区域。
【专利说明】存储器管理方法及存储器管理装置

【技术领域】
[0001]本发明与存储器管理技术相关,并且尤其适用于同时包含一工作中区域与一压缩后区域的存储器。

【背景技术】
[0002]在多数电子产品中,存储器是不可或缺的角色。以电脑系统为例,其中通常设置有动态随机存取存储器(DRAM),供暂存系统运作中需要的各种数据或程式码。动态随机存取存储器的好处在于存取速度快,缺点则是价格高于硬盘或快闪存储器。为了兼顾硬件成本和可使用的暂存空间大小两种考量,有些电子系统被设计为采用一动态随机存取存储器做为主要存储器,并另采用一硬盘的部分空间做为次要存储器。近期最少使用(leastrecently used, LRU)指标较高的数据,会自主要存储器被搬移至次要存储器,直到将被再次使用时才被搬移回主要存储器。这种通称为置换(swap)的做法有个缺点是,整体效率仍受限于次要存储器存取数据的缓慢速度。
[0003]为此,另有一种存储器管理方案是在同一个动态随机存取存储器中划分出一工作中区域与一压缩后区域的存储器。该工作中区域用以储存未压缩的数据。相似地,近期使用指标LRU较高的数据,会被施以压缩程序并自工作中区域搬移至压缩后区域,直到再次被需要时,始自压缩后区域被取出、解压缩、搬移回工作中区域。若采用适当的压缩演算法,压缩和解压缩程序不会耗去太多运算资源。相较于以整个动态随机存取存储器做为工作中区域的情况,这种方案能在同样大小的存储器空间中储存更多数据,以提高其利用率。然而,由于压缩后区域占据了部分的动态随机存取存储器空间,等效于缩减了可利用的工作中区域容量,因此可能会导致在工作中区域和压缩后区域间交换数据的频率上升。如本发明所属【技术领域】中具有通常知识者所知,数据交换的频率愈高,电子系统的整体效率愈低。


【发明内容】

[0004]为解决上述问题,本发明提出一种新的存储器管理方法与存储器管理装置。藉由将数据的近期使用指标和压缩率同时纳入考量,根据本发明的管理方法及管理装置能有效提升压缩后区域所能储存的数据量。易言之,在对于储存数据量的需求相同的情况下,压缩后区域的大小便可缩减,等效于增加可利用的工作中区域容量、减少数据交换的频率。此夕卜,藉由将存储器管理工作全部或部份交由辅助处理器执行,便可避免存储器所配合的电子系统所使用的主要处理器造成过多额外负担。
[0005]根据本发明的一具体实施例为一种存储器管理装置,适用于包含一工作中区域与一压缩后区域的存储器。该工作中区域用以储存未压缩的数据。该存储器管理装置包含一管理模块及一压缩/解压缩模块。该管理模块用以根据储存于该工作中区域内的一笔目标数据的一近期使用指标与一压缩率决定是否将该笔目标数据搬移至该压缩后区域。若该管理模块决定将该笔目标数据搬移至该压缩后区域,该压缩/解压缩模块将该笔目标数据压缩,并将压缩后的该笔目标数据搬移至该压缩后区域。
[0006]根据本发明的另一具体实施例为一种存储器管理方法,适用于包含一工作中区域与一压缩后区域的存储器。该工作中区域用以储存未压缩的数据。储存于该工作中区域内的一笔目标数据的一近期使用指标与一压缩率被评估。是否将该笔目标数据压缩并搬移至该压缩后区域根据该最近使用指标与该压缩率来决定。
[0007]根据本发明的另一具体实施例为一种存储器管理方法,适用于包含一工作中区域与一压缩后区域的存储器。该工作中区域用以储存未压缩的数据。首先,一判断步骤被执行,判断该工作中区域的一已使用比例以及该压缩后区域的一已使用比例是否令一预设条件成立。若该预设条件成立,根据储存于该工作中区域内的一笔目标数据的一近期使用指标与一压缩率,是否将该笔目标数据搬移至该压缩后区域储存被决定。
[0008]关于本发明的优点与精神可以藉由以下发明详述及附图得到进一步的了解。

【专利附图】

【附图说明】
[0009]图1为根据本发明的一实施例中的存储器管理装置的功能方块图。
[0010]图2进一步呈现根据本发明的管理模块的一种详细实施范例。
[0011]图3A?图3F以实际存储器内容范例说明根据本发明的管理模块的运作方式及运作结果。
[0012]图4为以实际存储器内容范例说明先前技术的运作结果。
[0013]图5呈现根据本发明的管理模块进一步包含频宽监测单元的实施例。
[0014]图6为根据本发明的一实施例中的存储器管理方法的流程图。
[0015]图7为根据本发明的另一实施例中的存储器管理方法的流程图。
[0016]图8为根据本发明的另一实施例中的存储器管理方法的流程图。
[0017]图9为根据本发明的另一实施例中的存储器管理方法的流程图。
[0018]图10为根据本发明的另一实施例中的存储器管理方法的流程图。
[0019]符号说明
[0020]100:存储器管理装置 12:管理模块
[0021]12A:工作中区域监测单元12B:压缩后区域监测单元
[0022]12C:管理单元12D:频宽监测单元
[0023]14:压缩/解压缩模块 200:存储器
[0024]22:工作中区域24:压缩后区域
[0025]26:映射表格30A?30F:分页
[0026]40:总线S601?S603:流程步骤
[0027]S701?S705:流程步骤 S801?S807:流程步骤
[0028]S901?S909:流程步骤 S1001?SlOll:流程步骤

【具体实施方式】
[0029]根据本发明的一具体实施例为一种存储器管理装置,其功能方块图绘示于图1。须说明的是,此处所谓本发明一辞用以指称该等实施例所呈现的发明概念,但其涵盖范畴并未受限于该等实施例本身。存储器管理装置100适用于包含一工作中区域22与一压缩后区域24的存储器200。工作中区域22用以储存未压缩的数据,压缩后区域24则是用以储存经过压缩的数据。映射表格26用以记录工作中区域22和压缩后区域24间的数据映射关系。
[0030]本实施例的存储器管理装置100包含一管理模块12与一压缩/解压缩模块14。管理模块12用以根据储存于工作中区域22内的一笔目标数据的近期使用指标与压缩率(compressible rat1,CR)决定是否将该笔目标数据搬移至压缩后区域24。例如,以近期使用指标及压缩率做为自变数的一函数可被预先定义。将每一笔数据的近期使用指标和压缩率代入此函数会获得一函数值,做为决定是否要将数据搬移的依据。实务上,上述近期使用指标可为一近期最少使用(least recently used, LRU)指标。LRU指标的数值愈高,表示一笔数据上次被使用的时间距目前时间愈远,即刻被使用的可能性越低。实务上,近期使用指标LRU愈高的数据愈适合被移至压缩后区域24储存。以下说明主要假设存储器200的存取单位为分页(page)且管理模块12所考量的近期使用指标为LRU指标。透过以下各实施例,本发明所属【技术领域】中具有通常知识者可理解,本发明的范畴不以上述假设为限。
[0031]另一方面,于实际应用中,可由压缩/解压缩模块14负责评估工作中区域22内各分页的压缩率。一笔数据的压缩率愈高,表示压缩后的数据量愈小,也就是说,此笔数据被压缩后存放在压缩后区域24所占的空间远小于存放在工作中区域22的空间,可大幅节省工作中区域22的储存空间。存储器200内每个分页的近期使用指标及压缩率可被记录在映射表格26中。须说明的是,近期使用指标与压缩率的产生方式为本发明所属【技术领域】中具有通常知识者所知,于此不赘述。
[0032]于一实施例中,以近期使用指标LRU及压缩率CR做为自变数的函数F (LRU, CR)被定义为:
[0033]F (LRU, CR) =W1*LRU+W2*CR。(式一)
[0034]系数Wl、W2的大小不以特定数值为限,可由存储器管理装置100的设计者根据实际应用情况中的各种软件/硬件条件决定,亦可于存储器管理装置100的运作过程中被动态调整,容后详述。
[0035]管理模块12根据函数值的大小决定是否将一笔目标数据搬移至压缩后区域24。就式一定义的函数而言,对应的函数值愈高的数据愈适合被优先搬移至压缩后区域24。若管理模块12决定将一笔目标数据搬移至压缩后区域24,压缩/解压缩模块14便将该笔目标数据压缩,并将压缩后的该笔目标数据搬移至压缩后区域24储存。
[0036]图2进一步呈现管理模块12的一种详细实施范例。此范例中的管理模块12进一步包含一工作中区域监测单元12A、一压缩后区域监测单元12B与一管理单元12C。工作中区域监测单元12A负责评估工作中区域22的一已使用比例。压缩后区域监测单元12B负责评估压缩后区域24的一已使用比例。实务上,工作中区域监测单元12A和压缩后区域监测单元12B可根据映射表格中的信息判断上述两个已使用比例的大小。在某些实施例中,管理模块12仅于特定条件成立时,始根据近期使用指标LRU与压缩率CR决定是否将数据自工作中区域22搬移至压缩后区域24。管理单元12C可负责根据工作中区域监测单元12A和压缩后区域监测单元12B的监测结果判断上述特定条件是否成立。
[0037]于一实施例中,管理单元12C会根据工作中区域22的已使用比例及/或压缩后区域24的已使用比例决定系数Wl、W2的大小。举例而言,当工作中区域22的已使用比例低于一第一门槛值(例如40%),也就是在工作中区域22的可用空间仍充足的情况下,管理单元12C可将加权系数W2设定为零,仅根据近期使用指标LRU决定是否将工作中区域22中的数据搬移至压缩后区域24,不考虑压缩率CR。在工作中区域22的已使用比例高于第一门槛值后,管理模块12始根据近期使用指标LRU与压缩率CR决定是否将数据自工作中区域22搬移至压缩后区域24。在这个情况下,管理单元12C仍可根据工作中区域22的已使用比例及/或压缩后区域24的已使用比例动态调整系数Wl、W2的大小。
[0038]于一实施例中,压缩后区域24的已使用比例愈高,管理单元12C将系数Wl、W2设定为令该函数值与该压缩率愈相关。举例而言,压缩后区域24的已使用比例愈高,管理单元12C便令系数Wl愈小,或令系数W2愈大。易言之,管理单元12C可令压缩后区域24的已使用比例与系数W2具有正相关性。其中,依压缩后区域24的已使用比例正向调整系数W2有许多可行的方式。例如,最直观的方式是管理单元12C线性地调整W2。另一方式包括管理单元12C阶梯式地调整W2,例如,当压缩后区域24的已使用比例已经高于一门槛值,则已使用比例越高,W2随着一正向的变化曲线被往上调整;管理单元12C更可采用另一门槛值,当压缩后区域24的已使用比例高于此更高的门槛值,W2随着另一不同的变化曲线被往上调整。另外,管理单元12C也可能建立压缩后区域24的已使用比例和系数W2的对照表,据此动态改变W2的值。
[0039]图3A?图3F以实际存储器内容范例说明管理模块12的运作方式及其运作结果。在图3A呈现的例子中,工作中区域22仅储存有分页30A、30B,假设其已使用比例低于第一门槛值。此时,管理模块12不使用压缩后区域24,亦即不会将工作中区域22中的分页搬移至压缩后区域24。图3B所示的工作中区域22中的分页数量较多,储存有六个分页30A?30F。由于检测到工作中区域22的已使用比例高于第一门槛值,且压缩后区域24的已使用比例偏低(例如低于另一预设门槛值),管理模块12根据压缩后区域24的已使用比例将系数W2设定为零。于此范例中,近期使用指标LRU最高的分页30F首先被压缩并搬移至压缩后区域24,其搬移后状况如图3C所示。由于图3C呈现的状况仍然是工作中区域22的已使用比例高于第一门槛值,且压缩后区域24的已使用比例仍然偏低,管理模块12仍令系数W2为零,因此会继续将近期使用指标LRU次高的分页30E压缩并搬移至压缩后区域24,其搬移后状况如图3D所示。
[0040]在图3D呈现的例子中,工作中区域22的已使用比例高于第一门槛值,而压缩后区域24的已使用比例亦已偏高。因此,管理模块12调整近期使用指标LRU的系数Wl以及压缩率CR的系数W2,使压缩率CR对函数值的影响增加,并根据计算出的函数值决定搬移哪一个分页。式一表示的函数值等效于近期使用指标LRU和压缩率CR的加权和,假设分页30A?30D的加权和Sa?Sd的高低顺序为:SB>Se>SD>SA,管理模块12可选择将加权和最高的页面30B压缩并搬移至压缩后区域24,其搬移后状况如图3E所示。在图3E呈现的状况中,工作中区域22的已使用比例仍然高于第一门槛值,而压缩后区域24的已使用比例亦仍然偏高。因此,管理模块12将继续将分页30A、30C、30D中加权和最高的页面30C压缩并搬移至压缩后区域24,其搬移后状况如图3F所示。
[0041]在图3F呈现的例子中,工作中区域22的已使用比例低于第一门槛值,管理模块12因此暂时不进行搬移工作。一种实务上的可能性是,若压缩后区域24的容量不足以容纳更多分页,管理模块12可能会将其中近期使用指标LRU最高的分页删除。
[0042]如先前所述,采用先前技术的存储器管理模块无论工作中区域22和压缩后区域24的已使用比例是多少,皆仅根据近期使用指标决定将哪些分页搬移至压缩后区域24。因此,在出现如图3D所示的状况时,采用先前技术的存储器管理模块会选择将近期使用指标最高的页面30D搬移至压缩后区域24,其搬移后状况如图4所示。在图4呈现的状况中,由于储存于压缩后区域24的分页30D?30F的压缩率CR都很低,也就是经压缩后的数据量与压缩前相差无几,压缩后区域24已几乎无法再容纳更多压缩后的分页。相较之下,如配合本发明精神的实施例的图3E和图3F所示,将压缩率CR纳入考量的管理模块12能够在压缩后区域24存入数量较多的分页,相对地,因为压缩后区域24可供存入的分页变多,使得工作中区域22的已使用比例可有效的降低。更明确地说,平均而言,存储器管理装置100能有效提升压缩后区域24所能储存的数据笔数。在对于储存数据量的需求相同的情况下,压缩后区域的大小便可缩减,等效于增加工作中区域24可利用的容量,进而减少于两区域间交换数据的频率。
[0043]于一实施例中,当工作中区域22的已使用比例低于第一门槛值,管理模块12会根据一交换条件是否成立,决定是否将一笔目标数据自工作中区域22搬移至压缩后区域24储存。除了目标数据的近期使用指标及压缩率之外,该交换条件亦与储存于压缩后区域24的一第一数据相关。更明确地说,若该交换条件成立,压缩/解压缩模块14不仅将该目标数据压缩后搬移至压缩后区域24储存,亦将该第一数据解压缩并搬移至工作中区域22储存,等效于交换目标数据与第一数据的储存区域。相对地,若该交换条件不成立,该笔目标数据便不会被搬移至压缩后区域24。
[0044]于一实施例中,管理单元12C自压缩后区域24中选择压缩率CR最低的一笔数据做为上述第一数据,并根据第一数据的压缩率CR、目标数据的压缩率CR,以及目标数据的最近使用指标LRU,判断该交换条件是否成立。以图3F呈现的情况为例,管理单元12C可自压缩后区域24储存的四笔数据中选出压缩率CR最低的分页30F做为上述第一数据。假设管理单元12C设定25为选择目标数据的近期使用指标门槛值。也就是说,工作中区域22中最近使用指标高于25的分页即可做为待交换的目标数据的候选者。该交换条件可为“工作中区域22中是否有最近使用指标高于25且压缩率CR高于分页30F的压缩率CR的分页”。在这个交换条件之下,管理单元12C可判断选择分页30D做为目标数据时能令该交换条件成立。因此,管理单元12C会控制压缩/解压缩模块14将分页30F解压缩、将分页30D压缩,并控制压缩/解压缩模块14将被解压缩后的分页30F搬移至工作中区域22、将被压缩后的分页30D搬移至压缩后区域24。由于分页30D的CR高于分页30F的CR,将这两个分页的储存位置互换后能有效增加压缩后区域24中的可用空间。
[0045]于另一实施例中,管理单元12C根据近期使用指标LRU与压缩率CR的加权和的大小判定交换条件是否成立。举例而言,管理单元12C可自压缩后区域24中选择加权和最低的一笔数据做为第一数据,并选择工作中区域22中加权和最高的一笔数据做为目标数据。若第一数据的加权和低于第二数据的加权和,则管理单元12C判定交换条件成立。近期使用指标LRU与压缩率CR的加权和的实施细节相似于先前所述的范例,在此不多加赘述。
[0046]于另一实施例中,管理单元12C自压缩后区域24中选择出基于某种指标为最低的一笔数据做为第一数据,并从工作中区域22中选择出该种指标为最高的一笔数据做为目标数据;假若目标数据的该指标高于第一数据的该指标,则管理单元12C判断交换条件成立,第一数据和目标数据将会被交换。上述的某种指标可以是近期使用指标LRU和压缩率CR的加权和,或者仅取压缩率CR做为指标。于实际应用中,上述某种指标的加权和可依据压缩后区域24目前的已使用比例进行动态调整。一般来说,压缩后区域24的已使用比例越高,压缩率的重要性相对提升。
[0047]于另一实施例中,除了工作中区域22的已使用比例是否低于第一门槛值,管理单元12C进一步考量压缩后区域24的已使用比例是否高于一第二门槛值。当工作中区域22的已使用比例低于第一门槛值且压缩后区域24的已使用比例高于第二门槛值,管理模块12始根据一交换条件是否成立,决定是否将一笔目标数据自工作中区域22搬移至压缩后区域24储存。也就是说,在压缩后区域24的可用空间不足的情况下,管理单元12C才开始选择性地于两存储器区域间进行数据交换。
[0048]图5呈现管理模块12的另一种详细实施范例。于此范例中,管理模块12进一步包含一频宽监测单元12D,用以评估与存储器200相关的一可用频宽,例如压缩/解压缩模块14与存储器200间的总线40的可用频宽。上述交换条件可包含该可用频宽是否高于一频宽门槛值。于此范例中,当可用频宽大于频宽门槛值,管理单元12C始根据近期使用指标LRU和压缩率CR的加权和判断是否进行数据交换。须说明的是,频宽监测单元12D并非必要存在的元件,但是藉由设定频宽门槛值此一限制,可减少该数据交换程序因不当占用资源而对其他存储器管理程序造成干扰的可能性。上述考量压缩后区域24的已使用比例的管理单元12C以及频宽监测单元12D可各自独立存在,其所对应的判断步骤亦可互换。
[0049]于一实施例中,压缩/解压缩模块14被设计为根据一压缩资源(例如压缩/解压缩模块14本身的运算资源或总线40的频宽)可用量,决定施于待压缩数据的压缩方案。在资源充沛的情况下,压缩/解压缩模块14可采取运算较耗时但压缩效果较佳的方案,以进一步提高压缩后区域24的可用空间。
[0050]实务上,管理模块12、压缩/解压缩模块14的各种功能可由存储器200配合的电子系统所使用的主要处理器来实现。于一实施例中,管理模块12、压缩/解压缩模块14中的至少一模块设置于一辅助处理器中;该辅助处理器不同于存储器200所配合的一电子系统所使用的一主要处理器。易言之,除了核心处理器之外,若该电子系统还包含其他具有运算功能的硬件,管理模块12、压缩/解压缩模块14的功能可全部或部份交由辅助处理器进行,以减轻核心处理器的负担。
[0051]根据本发明的另一具体实施例为一种存储器管理方法,适用于包含一工作中区域与一压缩后区域的存储器,其流程图绘示于图6。该工作中区域用以储存未压缩的数据,该压缩后区域则用以储存压缩后的数据。首先,步骤S601为监测工作中区域的已使用比例。步骤S602为判断工作中区域的已使用比例是否高于一第一门槛值。若步骤S602的判断结果为否,步骤S601被重新执行。若步骤S602的判断结果为是,步骤S603被执行,也就是针对储存于工作中区域内的数据分别根据各数据的最近使用率及可压缩率决定是否将该数据压缩并搬移至压缩后区域。完成步骤S603之后,步骤S601被重新执行。
[0052]根据本发明的另一具体实施例为一种存储器管理方法,适用于包含一工作中区域与一压缩后区域的存储器,其流程图绘示于图7。图7所示的存储器管理方法是将图6呈现的技术概念进一步应用、搭配其他存储器管理步骤。步骤S701为监测工作中区域的已使用比例。步骤S702为判断工作中区域的已使用比例是否高于一第一门槛值。若步骤S702的判断结果为否,步骤S701被重复执行。若步骤S702的判断结果为是,步骤S703被执行,也就是监测压缩后区域的已使用比例。步骤S704为根据压缩后区域的已使用比例决定一函数中对应于近期使用指标及/或压缩率的至少一系数(例如式一中的系数Wl、W2)。随后,步骤S705为针对储存于工作中区域内的各笔数据,分别根据其函数值决定是否将该数据压缩并搬移至压缩后区域。如先前所述,压缩后区域的已使用比例愈高,该至少一系数可被设定为令步骤S705所参考的函数值与压缩率愈相关。完成步骤S705之后,步骤S701被重新执行。
[0053]根据本发明的另一具体实施例为一种存储器管理方法,其流程图绘示于图8。图8所示的存储器管理方法将图7呈现的技术概念进一步应用、搭配其他存储器管理步骤。在这个实施例中,若工作中区域的已使用比例低于第一门槛值(亦即步骤S802的判断结果为否),步骤S806被执行,也就是判断储存于压缩后区域的第一数据与储存于工作中区域的目标数据是否令一交换条件成立。该交换条件的内容范例可参考先前介绍的几个实施例。若步骤S806的判断结果为是,步骤S807被执行,也就是将第一数据解压缩并搬移至工作中区域,并将目标数据压缩并搬移至压缩后区域。若步骤S806的判断结果为否,步骤S801被重新执行。完成步骤S805或步骤S807之后,步骤S801也被重新执行。
[0054]根据本发明的另一具体实施例为一种存储器管理方法,其流程图绘示于图9。图9所示的存储器管理方法将图8呈现的技术概念进一步应用、搭配其他存储器管理步骤。在这个实施例中,若工作中区域的已使用比例低于第一门槛值(亦即步骤S902的判断结果为否),步骤S906被执行,也就是监测压缩后区域的已使用比例。步骤S907则是判断压缩后区域的已使用比例是否高于一第二门槛值。若步骤S907的判断结果为是,判断交换条件是否成立的步骤S908始被执行。步骤S908、步骤S909与图八中的步骤S806、步骤S807相同。
[0055]根据本发明的另一具体实施例为一种存储器管理方法,其流程图绘示于图10。图10所示的存储器管理方法将图9呈现的技术概念进一步应用、搭配其他存储器管理步骤。在这个实施例中,若压缩后区域的已使用比例高于第二门槛值(亦即步骤S1007的判断结果为是),步骤S1008被执行,也就是监测与该存储器相关的一可用频宽。步骤S1009为判断该可用频宽是否高于一频宽门槛值。若步骤S1009的判断结果为否,步骤S1008被重复执行。于另一实施例中,若步骤S1009的判断结果为否,步骤S1001被重复执行。若步骤S1009的判断结果为是,判断交换条件是否成立的步骤S1010始被执行。步骤S1010、步骤SlOll与图8中的步骤S806、步骤S807相同。
[0056]本发明所属【技术领域】中具有通常知识者可理解,在以上各个流程图中,某些步骤的顺序或其中的判断逻辑的组合方式可被等效调换,并且不会影响该存储器管理方法的整体效果。此外,先前在介绍存储器管理装置100时描述的各种操作变化(例如根据压缩资源可用量决定压缩方案)亦可应用至图6?图10中的存储器管理方法,其细节不再赘述。
[0057]根据本发明的另一具体实施例为一种存储器管理方法,适用于包含一工作中区域与一压缩后区域的存储器。该工作中区域用以储存未压缩的数据。首先,一判断步骤被执行,判断该工作中区域的一已使用比例以及该压缩后区域的一已使用比例是否令一预设条件成立。若该预设条件成立,根据储存于该工作中区域内的一笔目标数据的一近期使用指标与一压缩率,是否将该笔目标数据搬移至该压缩后区域储存被决定。以图6绘示的流程为例,唯有在工作中区域的已使用比例高于第一门槛值时,步骤S603才会被执行。以图7绘示的流程为例,唯有在工作中区域的已使用比例高于第一门槛值且压缩后区域的已使用比例令与压缩率相关的系数不为零时,是否将目标数据搬移至该压缩后区域的决定依据始同时与目标数据的近期使用指标与压缩率相关。
[0058]如上所述,本发明提出一种新的存储器管理方法与存储器管理装置。藉由将数据的近期使用指标和压缩率同时纳入考量,根据本发明的管理方法及管理装置能有效提升压缩后区域所能储存的数据量。易言之,在对于储存数据量的需求相同的情况下,压缩后区域的大小便可缩减,等效于增加可利用的工作中区域容量、减少数据交换的频率。此外,藉由将存储器管理工作全部或部份交由辅助处理器执行,便可避免存储器所配合的电子系统所使用的主要处理器造成过多额外负担。
[0059]藉由以上较佳具体实施例的详述,希望能更加清楚描述本发明的特征与精神,而并非以上述所揭示的较佳具体实施例来对本发明的范畴加以限制。相反地,其目的是希望能涵盖各种改变及具相等性的安排于本发明所欲申请的专利范围的范畴内。
【权利要求】
1.一种存储器管理装置,用于一存储器,该存储器包含一工作中区域与一压缩后区域,该工作中区域用以储存未压缩的数据,该存储器管理装置包含: 一管理模块,用以根据储存于该工作中区域内的一笔目标数据的一近期使用指标与一压缩率决定是否将该笔目标数据搬移至该压缩后区域储存;以及 一压缩/解压缩模块,若该管理模块决定将该笔目标数据搬移至该压缩后区域,该压缩/解压缩模块将该笔目标数据压缩,且将压缩后的该笔目标数据搬移至该压缩后区域储存。
2.如权利要求1所述的存储器管理装置,其特征在于,以该近期使用指标及该压缩率做为自变数的一函数被预先定义,该管理模块根据该近期使用指标与该压缩率计算该函数的一函数值,并根据该函数值决定是否将该笔目标数据搬移至该压缩后区域。
3.如权利要求2所述的存储器管理装置,其特征在于,该管理模块包含: 一工作中区域监测单元,用以监测该工作中区域的一已使用比例; 一压缩后区域监测单元,用以监测该压缩后区域的一已使用比例;以及 一管理单元,根据该工作中区域的该已使用比例及/或该压缩后区域的该已使用比例决定该函数中对应于该近期使用指标及/或该压缩率的至少一系数。
4.如权利要求3所述的存储器管理装置,其特征在于,该压缩后区域的该已使用比例愈高,该管理单元将该至少一系数设定为令该函数值与该压缩率愈相关。
5.如权利要求1所述的存储器管理装置,其特征在于,当该工作中区域的一已使用比例高于一第一门槛值,该管理模块方根据该笔目标数据的该近期使用指标与该压缩率决定是否将该笔目标数据搬移至该压缩后区域储存。
6.如权利要求1所述的存储器管理装置,其特征在于,当该工作中区域的一已使用比例低于一第一门槛值,该管理模块根据一交换条件是否成立,决定是否将该笔目标数据搬移至该压缩后区域储存;该交换条件与该笔目标数据的该近期使用指标及该压缩率相关,亦与储存于该压缩后区域的一第一数据相关;当该交换条件成立,该压缩/解压缩模块将该目标数据压缩后搬移至该压缩后区域储存,且将该第一数据解压缩并搬移至该工作中区域储存。
7.如权利要求1所述的存储器管理装置,其特征在于,当该工作中区域的一已使用比例低于一第一门槛值且该压缩后区域的一已使用比例高于一第二门槛值,该管理模块根据一交换条件是否成立,决定是否将该笔目标数据搬移至该压缩后区域储存;该交换条件与该笔目标数据的该近期使用指标及该压缩率相关,亦与储存于该压缩后区域的一第一数据相关;当该交换条件成立,该压缩/解压缩模块将该目标数据压缩后搬移至该压缩后区域储存,且将该第一数据解压缩并搬移至该工作中区域储存。
8.如权利要求6或7所述的存储器管理装置,其特征在于,该管理模块包含: 一频宽监测单元,用以监测该存储器相关的一可用频宽,其中该交换条件包含该可用频宽是否高于一频宽门槛值。
9.如权利要求6或7所述的存储器管理装置,其特征在于,该第一数据为该压缩后区域中压缩率最低的一笔数据,且该交换条件与该第一数据的压缩率相关。
10.如权利要求1所述的存储器管理装置,其特征在于,该压缩/解压缩模块根据一压缩资源可用量,决定施于该笔目标数据的一压缩方案。
11.如权利要求1所述的存储器管理装置,其特征在于,该管理模块以及该压缩/解压缩模块中的至少其一设置于一辅助处理器中,该辅助处理器不同于该存储器所配合的一电子系统所使用的一主要处理器。
12.—种存储器管理方法,用于一存储器,该存储器包含一工作中区域与一压缩后区域,该工作中区域用以储存未压缩的数据,该管理方法包含: (a)根据储存于该工作中区域内的一笔目标数据的一近期使用指标与一压缩率决定是否将该笔目标数据搬移至该压缩后区域储存;以及 (b)若步骤(a)的判断结果为是,将该笔目标数据压缩,且将压缩后的该笔目标数据搬移至该压缩后区域储存。
13.如权利要求12所述的存储器管理方法,其特征在于,以该近期使用指标及该压缩率做为自变数的一函数被预先定义,步骤(a)包含根据该近期使用指标与该压缩率计算该函数的一函数值,以及根据该函数值决定是否将该笔目标数据搬移至该压缩后区域。
14.如权利要求13所述的存储器管理方法,其特征在于,步骤(a)进一步包含依照该工作中区域的一已使用比例及/或该压缩后区域的一已使用比例调整该函数中对应于该近期使用指标及/或该压缩率的至少一系数。
15.如权利要求12所述的存储器管理方法,其特征在于,进一步包含: (cl)判断该工作中区域的一已使用比例是否高于一第一门槛值;以及 (c2)若步骤(Cl)的判断结果为是,方针对储存于该工作中区域内的该笔目标数据执行步骤(a)。
16.如权利要求12所述的存储器管理方法,其特征在于,进一步包含: (dl)判断该工作中区域的一已使用比例是否低于一第一门槛值;以及 (d2)若步骤(dl)的判断结果为是,执行步骤(a); 其中步骤(a)包含根据一交换条件是否成立,决定是否将该笔目标数据搬移至该压缩后区域储存;该交换条件与该笔目标数据的该近期使用指标及该压缩率相关,亦与储存于该压缩后区域的一第一数据相关; 若步骤(a)的判断结果为是,除了将该笔目标数据压缩并搬移至该压缩后区域,步骤(b)进一步包含将该第一数据解压缩并搬移至该工作中区域。
17.如权利要求12所述的存储器管理方法,其特征在于,进一步包含: (dl)判断该工作中区域的一已使用比例是否低于一第一门槛值; (d2)判断该压缩后区域的一已使用比例是否高于一第二门槛值;以及 (d3)若步骤(dl)和步骤(d2)的判断结果皆为是,执行步骤(a); 其中步骤(a)包含根据一交换条件是否成立,决定是否将该笔目标数据搬移至该压缩后区域储存;该交换条件与该笔目标数据的该近期使用指标及该压缩率相关,亦与储存于该压缩后区域的一第一数据相关; 若步骤(a)的判断结果为是,除了将该笔目标数据压缩并搬移至该压缩后区域,步骤(b)进一步包含将该第一数据解压缩并搬移至该工作中区域。
18.如权利要求16或17所述的存储器管理方法,其特征在于,该第一数据为该压缩后区域中压缩率最低的一笔数据,且该交换条件亦与该第一数据的压缩率相关。
19.如权利要求12所述的存储器管理方法,其特征在于,进一步包含: 根据一压缩资源可用量,决定施于该笔目标数据的一压缩方案。
20.如权利要求12所述的存储器管理方法,其特征在于,进一步包含: (el)判断一辅助处理器是否处于一空闲状态,该辅助处理器不同于该存储器所配合的一电子系统所使用的一主要处理器;以及 (e2)若步骤(el)的判断结果为是,控制该辅助处理器执行步骤(a)和步骤(b)。
21.一种存储器管理方法,用于一存储器,该存储器包含一工作中区域与一压缩后区域,该工作中区域用以储存未压缩的数据,该管理方法包含: (a)判断该工作中区域的一已使用比例以及该压缩后区域的一已使用比例是否令一预设条件成立;以及 (b)若步骤(a)的判断结果为是,根据储存于该工作中区域内的一笔目标数据的一近期使用指标与一压缩率以决定是否将该笔目标数据搬移至该压缩后区域储存。
22.如权利要求21所述的存储器管理方法,其特征在于,当该工作区域的该已使用比例高于一第一门槛值,该预设条件被判定为成立。
23.如权利要求21所述的存储器管理方法,其特征在于,进一步包含: 若该工作区域的该已使用比例低于一第一门槛值,判断该笔目标数据与储存于该压缩后区域的一第一数据是否令一交换条件成立。
24.如权利要求21所述的存储器管理方法,其特征在于,包含: 若该工作区域的该已使用比例低于一第一门槛值,且该压缩后区域的一已使用比例高于一第二门槛值,判断该笔目标数据与储存于该压缩后区域的一第一数据是否令一交换条件成立。
25.如权利要求23或24所述的存储器管理方法,其特征在于,该交换条件与该第一数据的一压缩率相关,亦与该目标数据的该近期使用指标及该压缩率相关;以该近期使用指标及该压缩率做为自变数的一函数被预先定义;判断该交换条件是否成立包含: (Cl)判断该第一数据的该压缩率是否低于一压缩率门槛;以及 (c2)判断将该目标数据的该近期使用指标与该压缩率代入该函数所得的一函数值是否高于一数值门槛; 其中若步骤(Cl)和步骤(c2)的判断结果皆为是,则该交换条件成立。
【文档编号】G06F12/02GK104516821SQ201310454036
【公开日】2015年4月15日 申请日期:2013年9月29日 优先权日:2013年9月29日
【发明者】童怡新, 林和源, 林佳纬, 杨弘伟 申请人:晨星半导体股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1