用于在虚拟存储机构中存储和传送分页数据、特别是分页代码的方法和设备的制作方法

文档序号:6768390阅读:157来源:国知局
专利名称:用于在虚拟存储机构中存储和传送分页数据、特别是分页代码的方法和设备的制作方法
技术领域
本发明涉及在特别是设置有虚拟存储机构的电子设备的不同存储部件中的数据处理,尤其是压缩、存储和传送分页数据。本发明可以应用于使用用于存储和传送分页数据的存储部件的任何电子设备,例如但不限于无线通信装置,例如蜂窝式移动电话。
背景技术
电子设备的存储器可以被分为多个存储页面,存储页面是访问存储器的最小单位。存储页面包含数据,所述数据也被称为分页数据。电子设备可以包括用于不同用途的不同类型的存储器。一般而言,电子设备使用包括工作存储页面的工作存储器,以当在启动时或在运行期间执行进程时存储分页数据。多数电子设备使用“RAM”或随机存取存储器作为工作存储器。包括在工作存储器中的存储页面也被称为“MMU”页面,或存储管理单元页面,因为它们由虚拟存储机构中的MMU管理。此外,分页数据必须被存储在存储式存储器(storage memory)中,以当电子设备关闭时保持数据。例如,存储式存储器可以是嵌入式闪存或硬盘。该存储式存储器也包括存储页面。MMU通过借助于被称为“分页”的技术在存储器之间传送存储页面来管理分页数据。分页的原理在于仅在需要这些存储页面中的数据时才将来自存储式存储器(也被称为大容量存储式存储器)的存储页面加载到工作存储器。分页可以避免在启动时加载很少使用的数据,因此腾出更多的工作存储器用于执行进程。当在工作存储页面中位于存储地址的数据由进程调用,并且未发现相应存储页面时,发生页面错误,所述页面错误触发将来自存储式存储器的存储页面加载到工作存储器。 当存储页面被加载时,数据可以由所述进程使用。此外,为了节省存储式存储器中的空间,厂商压缩数据以将压缩数据存储在存储式存储器中。为了压缩在启动时或当电子设备正在运行时必须被加载到工作存储器中的数据,可以使用常用的压缩算法压缩所述压缩数据。而且用于访问存储在存储器中的数据的存储器访问时间取决于必须被访问以检索数据的存储页面的数量。待访问的存储页面的该数量也被称为读访问存储器的次数。一般而言,存储式存储器包括可以具有与工作存储页面的大小不同的大小的存储式存储页面。在该情况下,取决于读访问存储器的次数,存储器访问时间可以不同。也适宜的是,压缩不影响存储式存储器访问时间。因此,有用的是在防止影响存储器访问时间的同时改善压缩。已知的解决方案在于使用与非分页数据的情况相同的压缩算法最大化压缩率。待压缩的数据被分为存储到一个或若干个存储式存储页面中的压缩块。由于MMU页面大小可以大于存储式存储页面大小,因此存储在存储式存储页面中的压缩块与MMU页面中的未压缩数据不对齐。换句话说,与分页数据未压缩地存储在所述存储式存储器中相比,压缩块可以存储在更多的存储式存储页面中。在该情况下,与未压缩地存储分页数据相比,需要读取更多的存储式存储页面以检索MMU页面内容,因此影响存储器访问时间。在分页代码的情况下,必须在启动时或在运行期间快速地访问未压缩代码。理想地,在页面错误期间读访问存储式存储器的次数在压缩分页代码的情况下不应当比在未压缩分页代码的情况下更高。

发明内容
根据一个实施例,提出了一种用于将分页数据存储在存储式存储器中的方法,以允许提高在电子设备的启动时或运行期间读访问所述存储式存储器的次数。特别地,提出了一种方法,当压缩数据存储在存储式存储器中时所述方法允许存储器访问时间的改善,从而改善压缩分页数据并置到存储式存储页面中。根据一个方面,提出了一种用于将分页数据、特别是只读分页数据(例如分页代码)存储在存储式存储器中的方法,所述分页数据被包括在具有第一存储页面大小的第一存储页面中,所述存储式存储器包括具有第二存储页面大小的存储式存储页面,并且所述方法包括将每个第一存储页面的内容独立地压缩为压缩块;所述方法还包括比较每个压缩块大小与所述第一存储页面大小,并且如果压缩块的大小严格地小于所述第一存储页面大小,则将所述压缩块存储在小于或等于ceil (r)的数量的存储式存储页面中,其中r为所述第一存储页面大小和所述第二存储页面大小之间的比率;而如果压缩块的大小大于所述第一存储页面大小,则将所述第一存储页面的未压缩内容直接存储在等于ceil(r)的数量的存储式存储页面中。因此,与所述MMU页面内容存储在未压缩的存储式存储器中相比,读取检索MMU页面的未压缩内容的内容所需的所有压缩块并不需要更多的读访问。这允许将包括并置压缩块的串存储在最少量的存储式存储页面中。而且,有可能以使得限制读访问所述存储式存储器的次数的方式将所述压缩块存储在存储式存储器中。如果压缩块的大小等于所述第一存储页面大小,则提供两个可能性,在等于 ceil (r)的数量的存储式存储页面中存储所述压缩块或直接存储所述第一存储页面的未压缩内容。所述方法还包括优选地制定包含所述存储式存储器内的压缩块或未压缩内容的位置和相应的第一存储页面之间的映射信息的映射表,并且将所述映射表存储在所述存储式存储器中。若干实施例可能实现本发明的该方面。具体地,以下两个实施例共有以下特性-每个第一存储页面的内容被独立地压缩;-对于每个分页数据(或二进制数),给定第一存储页面的地址,映射表用于检索正确的压缩块(即,它存储在其中的存储式存储页面)。该映射表允许避免读取整个存储式存储器以用于检索正确的压缩块。该映射表例如存储在压缩二进制数内,并且优选地在启动时被屏蔽以避免当调用分页时从存储式存储器读取它。在启动时屏蔽在于将二进制数据加载到工作存储器中以便在运行期间使用它。根据这两个实施例中的一个,所述存储步骤可以包括限定参考大小的集合;每个压缩块的大小与所述参考大小比较;并且如果所述压缩块的大小等于所述参考大小中的一个,则将所述压缩块直接存储在所述存储式存储页面中,而如果所述压缩块的大小不等于所述参考大小中的一个,则所述存储步骤还包括用填补数据填补所述压缩块以达到最接近的较高参考大小并且将所述经填补的压缩块存储在所述存储式存储页面中。根据这两个实施例中的另一个,所述存储步骤可以包括将所有未压缩内容存储在起始存储式存储页面中并且在将剩余压缩块排序之后将它们存储在随后的存储式存储页面中。优选地,所述排序步骤包括制定包括并置剩余压缩块的数据串。根据另一个方面,提出了一种用于将来自存储式存储器的分页数据,特别是只读分页数据(例如分页代码)传送到第一存储器的方法,所述第一存储器包括具有第一存储页面大小的第一存储页面,并且所述存储式存储器包括具有第二存储页面大小的存储式存储页面;所述分页数据存储在所述存储式存储页面中并且包括压缩块或未压缩内容;所述方法包括对于每个第一存储页面,以小于或等于ceil(r)的读访问的次数访问所述存储式存储器,其中r为所述第一存储页面大小和所述第二存储页面大小之间的比率,并且将每个读出的未压缩内容直接存储在所述第一存储页面中,或者在解压缩每个读出的压缩块之后将相应的解压缩块存储在所述第一存储页面中。所述方法还包括优选地提供存储在所述存储式存储页面中的映射表,所述映射表包含所述存储式存储器内的压缩块或未压缩内容的位置和相应的第一存储页面之间的映射信息,并且所述方法包括通过使用所述映射表检索存储在所述存储式存储页面中的正确的压缩块或未压缩内容。有利地,所述映射表可以在启动时被屏蔽。根据另一个实施例,所述分页数据可以通过使用上述的存储方法存储在所述存储式存储器中。根据另一个方面,提出了一种用于将来自存储式存储器的分页数据,特别是只读分页数据(例如分页代码)传送到第一存储器的设备,所述第一存储器包括具有第一存储页面大小的第一存储页面,并且所述存储式存储器包括具有第二存储页面大小的存储式存储页面;所述分页数据存储在所述存储式存储页面中并且包括压缩块或未压缩内容;所述设备包括被配置为对于每个第一存储页面以小于或等于ceil(r)的读访问的次数访问所述存储式存储器的部件,其中r为所述第一存储页面大小和所述第二存储页面大小之间的比率,被配置为将每个读出的未压缩内容直接存储在所述第一存储页面中的部件,以及被配置为在解压缩每个读出的压缩块之后将相应的解压缩块存储在所述第一存储页面中的部件。根据一个实施例,所述设备可以包括存储在所述存储式存储页面中的映射表,所述映射表包含所述存储式存储器内的压缩块或未压缩内容的位置和相应的第一存储页面之间的映射信息,并且所述访问部件还被配置为通过使用所述映射表检索存储在所述存储式存储页面中的正确的压缩块或未压缩内容。
6
所述访问部件还被配置为在启动时访问所述映射表。根据另一个实施例,所述存储式存储器包括通过使用上述的存储方法存储在所述存储式存储器中的分页数据。根据另一个方面,提出了一种无线通信装置,其包括如上所述的设备。所述无线通信装置可以是蜂窝式移动电话。


通过分析非限制性的实施例和附图的详细描述,本发明的其他优点和特征会显现,在附图中图1-6图解地示出根据本发明的存储方法的例子;图7和图8图解地示出根据本发明的传送方法的例子;图9图解地示出根据本发明的设备的实施例;以及图10图解地示出包含根据本发明的设备的实施例的无线通信装置的例子。在图中,相同的附图标记在全文中表示相同的对象。图中的对象不一定按比例绘制。
具体实施例方式在图1中图解地示出了将分页数据,特别是只读分页数据(例如分页代码)存储在存储式存储器SM中的方法的实施例,所述方法特别适合用于在虚拟存储机构中分页。所述分页数据被包括在若干具有第一存储页面大小MMUS的第一存储页面MMUi 中。所述存储式存储器SM包括若干具有第二存储页面大小SPMS的存储式存储页面 SMPi。所述存储方法包括压缩步骤1,其中每个第一存储页面的内容MMUCi被独立地压缩为压缩块CCi。由于第一存储页面MMUi可以具有不同的内容MMUCi,因此压缩步骤1可以提供具有各自不同的大小CCSi的不同的压缩块CCi。具体地,压缩块CCi可以具有等于或大于第一存储页面大小MMUS的大小CCSi。当第一存储页面内容不适合于压缩或者压缩算法压缩得不好时该结果会发生。此外,该存储方法包括用于比较每个压缩块大小CCSi与所述第一存储页面大小 MMUS的比较步骤2和用于将所述压缩块CCi或所述第一存储页面内容MMUCi存储到一个或若干存储式存储页面SMPi的存储步骤3。如果压缩块CCi的大小CCSi严格地小于所述第一存储页面大小MMUS,则所述压缩块CCi存储4在小于或等于ceil (r)的数量的存储式存储页面中。如果压缩块CCi的大小CCSi等于所述第一存储页面大小MMUS (步骤20),则两个实施例均是可能的。在标注A的第一实施例中,所述压缩块CCi存储4在小于或等于ceil (r)的数量的存储式存储页面中。在标注B的第二实施例中,所述第一存储页面的未压缩内容MMUCi直接存储在等于ceil(r)的数量的存储式存储页面中。
如果压缩块CCi的大小CCSi大于所述第一存储页面大小MMUS,则所述第一存储页面的未压缩内容MMUCi直接存储5在等于ceil(r)的数量的存储式存储页面中。r为所述第一存储页面大小MMUS和所述第二存储页面大小SMPS之间的比率,也就是说r = MMUS/ SMPS ;并且ceil (r)是返回作为浮点的r的上限的数学函数,换句话说它返回大于或等于r的
最小整数值。无论r小于、大于还是等于1,在这里没有区别。映射表MT也被制定。该映射表MT将用于通过给出第一存储页面MMUi的地址在存储式存储器SM中检索正确的压缩块CCi或正确的未压缩内容MMUCi。因此,映射表MT包含所述存储式存储器SM内的压缩块CCi或未压缩内容MMUCi的位置和相应的第一存储页面MMUi之间的映射信息。所述映射表MT例如存储7在所述存储式存储页面SMPi中。若干变型可以用于将所述压缩块CCi或所述未压缩内容MMUCi存储在小于或等于 ceil(r)的数量的存储式存储页面SMPi中。现在将在下面详细描述两个变型。根据尤其在图2中示出的第一变型,若干参考大小RSi(即,预定大小)的集合被限定8。如上所述,每个第一存储页面MMUi的内容MMUCi被独立地压缩为压缩块CCi。压缩块大小CCSi然后与包括在所述集合中的所有参考大小RSi比较9。在该第一变型中,如果压缩块的大小不等于参考大小中的一个,则所述压缩块CCi 被填补10以便达到最接近的较高参考大小。所述填补步骤10在于将填补数据(例如FFFF 值)添加到压缩块CCi的末端以便增加压缩块大小CCSi直到最接近的较高参考大小。然后,经填补的压缩块和未填补的压缩块CCi以使得没有块横跨多于等于 ceil (r)的数量的存储式存储页面SMPi的方式被存储4在存储式存储器SM中。现在参考图3,更详细地描述第一变型的例子。在图3中,为了简化起见,仅示出了五个第一存储页面MMUl至MMU5。参考符号 MMUCi表示相应的第一存储页面MMUi的内容。以同样的方式,为了简化起见,仅示出了十二个存储页面SMPl至SMP12。参考符号CCi表示五个压缩块CCl至CC5中的一个压缩块。参考符号CCSi表示压缩块大小的大小,并且参考符号RSi表示参考大小的集合中的一个参考大小。例如,第一存储页面大小MMUS等于4kBG千字节),第二存储页面大小SMPS等于 2kB,并且参考大小RSi可以在等于4kB、3kB、2. 5kB、2kB、1. 5kB、IkB和0. 5kB的值的集合当中选择。在该情况下,RSl等于4kB,RS2等于2. 5kB并且RS3等于2kB。在图1中,例如,压缩块大小 CCSl 至 CCS5 分别等于 4kB、2. 2kB、3. 7kB、3. IkB 和 2kB。映射表MT例如存储7在两个第一存储式存储页面SMPl和SMP2中。如果第一压缩块CCl具有等于第一存储页面大小MMUS的大小CCSl,则压缩块CCl 或者可能相应的第一存储页面MMUl的内容MMUCl直接存储在两个存储式存储页面SMP3和 SMP4中(参考标记A和B)。此外,具有不同于参考大小中的一个的大小的压缩块CC2、CC3和CC4用填补数据 PDD2、PDD3、PDD4进行填补9以使它们的每一个达到最接近的较高参考大小。换句话说,第二压缩块CC2用大小为0. 3kB的填补数据进行填补9以达到2. 5kB的大小RS2。第三压缩块CC3用大小为0. 3kB的填补数据进行填补以达到4kB的大小RS1。第四压缩块CC4用大小为0. 9kB的填补数据进行填补以达到4kB的大小RSl。具有等于参考大小中的一个RS3 的大小CCS5的第五压缩块CC5不进行填补。在被存储到存储式存储页面SMPi中之前可以按大小排序经填补的压缩块、未填补的压缩块和第一存储页面内容MMUCi。所述经填补的压缩块、未填补的压缩块和第一存储页面内容MMUCi在后面也被称为元素。因此,例如并且非限定地,可以以以下方式存储所有所述元素首先存储具有等于4kB的大小的所有元素,然后存储具有等于2kB的大小的所有元素,然后存储具有等于3kB的大小的所有元素,然后存储具有等于IkB的大小的所有元素,然后存储具有等于2. 5kB的大小的所有元素,然后存储具有等于1. 5kB的大小的所有元素,然后存储具有等于0. 5kB的大小的所有元素。该排序保证更高效的存储,且没有压缩块横跨多于等于ceil (4/2) = 2的数量的存储式存储页面SMPi。参考大小RSi的一些其他选择适合于排序元素。参考大小RSi的以下集合可以是 ceil(r), ceil(r)-l,…,2,1,1/2,1/3,1/4...。参考大小RSi的其他选择是可能的,例如ceil (r),ceil (r)-1/2,ceil (r)_l,…, 3/2,1,1/2,1/4。更一般地,但非限定地,参考大小RSi可以被选择为等于m*S,如果 m 彡(ceil(r)-l) · q,或等于((ceil(r)-l) · q+m) · S,如果 m 为 q 的约数。在这两个公式中-S为浮点使得SMPS为S的倍数;-q 为整数使得 SMPS = q*S ;-m为非零的整数。例如如果MMUS = 4kB, SMPS = 2kB,并且 S = 0. 5,则 ceil (r) = 2 并且 q = 4。因此参考大小RSi的集合可以为RSl = 0. 5 (m = 1 并且 RSl 等于 m*S)RS2 = 1 (m = 2 并且 RS2 等于 m*S)RS3 = 1. 5(m = 3 并且 RS3 等于 m*S)RS4 = 2 (m = 4 并且 RS4 等于 m*S)RS5 = 2. 5 (m = 1 (m 为 q 的约数)并且 RS5 等于((ceil (r) _1) · q+m) · S)RS6 = 3 (m = 2 (m 为 q 的约数)并且 RS6 等于((ceil (r) _1) · q+m) · S)RS7 = 4 (m = 4 (m 为 q 的约数)并且 RS7 等于((ceil (r) _1) · q+m) · S)在图4中示出根据本发明的方法的第二变型。在该第二变型中,未使用若干参考大小RSi的集合。在存储步骤5中,所有未压缩内容MMUCi存储在起始的存储式存储页面SMPi中 (即,具有例如从0开始的地址的存储式存储页面中)并且在存储(步骤4)在随后的存储式存储页面SMPi中之前排序12所有剩余的压缩块CCri。在该第二变型中,具有等于MMUS的大小的压缩块可以被包括(箭头A)在待排序 (12)的所述剩余压缩块CCri中或者可以直接存储在所述起始的存储式存储页面之后的存储式存储器中。可替选地,在这样的情况下,也有可能考虑相应的未压缩内容并且将其直接存储在所述起始的存储式存储页面之后的存储式存储器中(箭头B)。现在在图5中图解地示出排序剩余压缩块CCi的步骤12的例子。排序步骤12包括,在根据所述存储方法的存储步骤3在存储式存储器SM中存储所述压缩块之前制定包括并置的剩余压缩块的数据串LS。排序剩余压缩块CCri的步骤12在步骤100开始。在执行开始步骤100之后,执行下一个初始化的步骤101。初始化的步骤101包括将变量LSC、N和d初始化为零。LSC是数据串LS的大小;N是存储所述数据串LS所需的存储式存储页面SMPi的最小数量;并且d是N个存储式存储页面SMPi的大小和数据串LS的大小LSC之间的偏移量。然后执行查找步骤102,包括在未并置到数据串LS中的剩余压缩块CCri当中查找剩余压缩块CCri。例如,该查找步骤102包括查找具有最大的大小的剩余压缩块。然后,执行步骤103,包括测试所述剩余压缩块CCri是否存在。如果有这样的剩余压缩块CCri,则执行并置步骤104,否则排序步骤12结束(步骤105)。当排序步骤12终止时,所有剩余压缩块CCri全部被并置在数据串LS中并且准备被存储在存储式存储器SM中。并置步骤104包括将查找到的所述剩余压缩块CCri与包括的压缩块CCri并置到数据串LS中。所述并置步骤104还包括更新变量,例如LSC = LSC+CCSrf
Γ Ar , f LSC λN = floor -CCSrf是查找到的剩余压缩块的大小;并且floor (χ)是返回作为浮点的χ的下限的数学函数,换句话说它返回小于或等于χ 的最大整数值。在执行所述并置步骤104之后,再次执行查找步骤106以用于查找剩余压缩块 CCri0然后,执行又一个存在步骤107以用于测试至少一个剩余压缩块CCri是否存在。 如果有这样的剩余压缩块CCri,则执行计算步骤108,否则排序步骤12结束(步骤105)。所述计算步骤108包括计算偏移量d,例如d= (N+1)*SMPS-LSC该偏移量允许知道下一个被查找到的压缩块是否可以被包括在小于或等于 ceil(r)的数量η的存储式存储页面中。然后,执行查找步骤109,包括查找具有大小CCSrf的剩余压缩块,例如CCSrf ^ (ceil(r)-l)*SMPS+d然后,再次执行存在步骤110以用于测试是否有这样的剩余压缩块CCri。如果有这样的剩余压缩块CCri,则再次执行所述并置步骤104,否则执行填补步骤111。所述填补步骤111包括制定具有大小PDDS (例如PDDS = d)的填补数据。所述填补步骤111还包括更新变量,例如
10
LSC = LSC+PDDSN 二 iloor\
{ SMPS J然后,再次执行查找步骤106。在图6中示出了所述第二实施例的例子。在图6中,为了简化起见,仅示出了四个第一存储页面MMUl至MMU4和九个存储页面 SMPl 至 SMP9。例如,第一存储页面大小MMUS等于4kBG千字节)并且第二存储页面大小SMPS 等于^ Β。在该情况下,压缩块大小CCSl至CCS4分别等于4kB、2. 2kB、3. 7kB和3. lkB。因此,具有等于第一存储页面大小MMUS的大小CCSl的第一压缩块CCl未存储到存储式存储器SM中。相反地,相应的第一存储页面MMUl的内容MMUCl存储在两个存储式存储页面SMP3和SMP4中。映射表MT然后例如存储7在两个第一存储式存储页面SMPl和 SMP2 中。此外,在存储3在存储式存储页面SMPi中之前剩余压缩块CC2、CC3和CC4被排序 12。查找步骤102的执行例如提供第三剩余压缩块CC3。因此,所述剩余压缩块CC3是包括在数据串LS中的第一数据块。然后更新变量(步骤104),例如LSC = 3. 7kBN=I然后,计算当前偏移量d(步骤108)d = 0. 3kB因此,查找具有大小CCSrf的剩余压缩块CCri (步骤109),例如CCSrf 彡 2. 3kB。第二压缩块CC2是所查找到的剩余压缩块。因此,所述剩余压缩块CC2是包括(步骤104)在数据串LS中的第二数据块。然后更新变量(步骤104),例如LSC = 5. 9kBN = 2然后,计算当前偏移量d(步骤108)d = 0. IkB然后,查找具有大小CCSrf的剩余压缩块CCri (步骤109),例如CCSrf 彡 2. IkB。在这里,没有这样的剩余压缩块存在,因此数据串用具有大小PDDS的填补数据进行填补(步骤111),例如:PDDS = 0. IkBo然后更新变量(步骤111),例如LSC = 6kBN= 3当再次执行查找步骤106时,查找剩余压缩块CCri。
然后,计算当前偏移量d(步骤108)d = 2kB 查找具有大小CCSrf的剩余压缩块CCri (步骤109),例如CCSrf■彡 4kB。在这里,查找到第三压缩块CC4(步骤109)。然后最后的剩余压缩块CC4被并置(步骤104)。当查找不到压缩块时(步骤107),排序步骤12结束(步骤105)。现在将具体参考图7更详细地解释传送分页数据,特别是只读分页数据(例如分页代码)的方法的实施例。所述方法将来自存储式存储器SM的所述分页数据传送到第一存储器WM。所述第一存储器WM可以是包括待由进程使用的分页数据的工作存储器。所述分页数据例如通过使用根据上面在图1-6中限定的实施例中的任何一个的存储方法而存储在所述存储式存储器SM中。所述第一存储器WM包括具有第一存储页面大小MMUS的第一存储页面MMUi。此外,所述方法包括对于每个第一存储页面MMUi以小于或等于ceil (r)的读访问的次数η访问14所述存储式存储器SM。访问步骤14在于提取存储式存储页面SMPi的内容并且将所述内容存储在第一存储页面MMUi中。有利地,访问步骤14可以包括通过使用存储在存储式存储页面SMPi中的映射表 MT检索18存储在所述存储式存储页面SMPi中的正确的压缩块CCi或未压缩内容MMUCi。 借助于所述映射表ΜΤ,不必访问所有存储式存储页面SMPi以提取一个或多个选定的第一存储页面的内容。当访问映射表MT时,有可能获得对应于选定的第一存储页面的存储式存储页面的位置。例如,可以每当启动时从存储式存储器访问所述映射表ΜΤ,因此更加改善了读访问存储器的次数。然后,每个读出的未压缩内容MMUCi直接存储15在所述第一存储页面MMUi中或者每个读出的压缩块CCi在解压缩16之后存储17在所述第一存储页面MMUi中。在图8中示出了根据另一个实施例的传送分页数据的所述方法的例子。在图8中,例如,数据根据上述的第二实施例存储在所述存储式存储页面SMPi中。 例如,存储式存储页面SMPi包括映射表ΜΤ,未压缩内容MMUCl,和三个压缩块CC2至CC4。所述映射表MT首先通过读取两个存储式存储页面SMPl和SMP2被访问并且可以存储在第一存储器WM中以在运行期间通过使用直接自所述第一存储器的读访问被使用。然后,所述传送方法包括检索存储在与第一存储页面MMUl至MMU4对应的所述存储式存储页面SMPi中的正确的压缩块CC2至CC4或未压缩内容MMUCl。因此,对于每个第一存储页面MMUl至MMU4,包括在存储式存储器SM中的相应的存储式存储页面SMPi被查找。对于第一存储页面MMUl,所述未压缩内容MMCl在两个存储式存储页面SMPl和 SMP2中被读取,然后存储在相应的第一存储页面MMUl中。 对于其他第一存储页面MMU2至MMU4,所述压缩块CC2至CC4通过最多读取两个页面被访问。事实上,在该例子中,ceil (r)等于2。因此所有读出的未压缩内容MMUCi和所有解压缩的读出的压缩块存储在相应的初始第一存储页面MMUi中。所述第一存储页面被包括在第一存储器WM中,例如在工作存储器中。在图9中示出了根据另一个实施例的用于传送分页数据,特别是只读分页数据 (例如分页代码)的设备30。图1和图2的一些参考符号被提供给图9。该设备30将来自存储式存储器SM的所述分页数据传送到第一存储器WM,例如工作存储器。所述分页数据例如通过使用根据上面在图1-6中限定的实施例中的任何一个的存储方法存储在所述存储式存储器SM中。此外,所述第一存储器WM包括所述第一存储页面MMUi。传送设备30包括访问部件31、解压缩部件32、和存储部件33。访问部件31能够对于每个第一存储页面MMUi以小于或等于ceil (r)的读访问的次数η访问所述存储式存储器SM。当使用η次读访问存储式存储器SM时,所述访问部件 31可以提取所述存储式存储器SM的η个存储式存储页面SMPi的内容并且将它们传输到解压缩部件32。解压缩部件32能够解压缩每个存储式存储页面SMPi的压缩块并且将解压缩的数据块传输到存储部件33。而且,该解压缩部件32能够将每个未压缩内容直接传输到所述存储部件33。存储部件33能够将所述未压缩内容和所述压缩块存储在所述第一存储页面MMUi 中。这些部件中的一些或全部可以例如通过微处理器内的软件模块或通过特定逻辑电路实现。现在参考图10,图9中限定的用于传送分页数据的设备30例如可以被包含在无线通信装置50的数字部分DGP中,所述无线通信装置50包括天线ANT以及发射链路TXCH和接收链路RXCH。这样的无线通信装置例如可以是蜂窝式移动电话。
权利要求
1.一种用于将分页数据存储在存储式存储器(SM)中的方法,所述分页数据被包括在具有第一存储页面大小(MMUQ的第一存储页面(MMUi)中,所述存储式存储器(SM)包括具有第二存储页面大小(SMPQ的存储式存储页面(SMPi),所述方法包括将每个第一存储页面(MMUi)的内容独立地压缩(1)为压缩块(CCi),比较每个压缩块大小(CCSi)与所述第一存储页面大小(MMUS),并且如果压缩块(CCi)的大小(CCSi)严格地小于所述第一存储页面大小(MMUS),则将所述压缩块(CCi)存储(3)在小于或等于ceil (r)的数量的存储式存储页面(SMPi)中,其中r为所述第一存储页面大小(MMUQ和所述第二存储页面大小(SMPS) 之间的比率;而如果压缩块(CCi)的大小(CCSi)大于所述第一存储页面大小(MMUS),则将所述第一存储页面(MMUi)的未压缩内容直接存储C3)在等于ceil (r)的数量的存储式存储页面(SMPi)中。
2.根据权利要求1所述的方法,其中,如果压缩块(CCi)的大小(CCSi)等于所述第一存储页面大小(MMUS),则在等于ceil (r)的数量的存储式存储页面(SMPi)中存储( 所述压缩块(CCi)或直接存储( 所述第一存储页面(MMUi)的未压缩内容。
3.根据权利要求1或2所述的方法,还包括制定( 包含所述存储式存储器(SM)内的压缩块(CCi)或未压缩内容的位置和相应的第一存储页面(MMUi)之间的映射信息的映射表(MT),并且将所述映射表(MT)存储(4)在所述存储式存储器(SM)中。
4.根据权利要求1-3中的任一项所述的方法,其中所述存储步骤C3)包括限定参考大小(RSi)的集合,并且对于每个压缩块(CCi)比较所述压缩块(CCi)的大小与所述参考大小(RSi),并且如果所述压缩块(CCi)的大小(CCSi)等于所述参考大小(RSi)中的一个, 则将所述压缩块存储在所述存储式存储页面(SMPi)中,而如果所述压缩块(CCi)的大小 (CCSi)不等于所述参考大小(RSi)中的一个,则所述存储步骤C3)还包括用填补数据填补所述压缩块(CCi)以达到最接近的较高参考大小并且将所述经填补的压缩块存储(3)在所述存储式存储页面(SMPi)中。
5.根据权利要求1-3中的任一项所述的方法,其中所述存储步骤C3)包括将所有未压缩内容存储( 在起始存储式存储页面(SMPi)中并且在将剩余压缩块(CCri)排序(12) 之后将所述剩余压缩块存储在随后的存储式存储页面(SMPi)中。
6.根据权利要求5所述的方法,其中所述排序步骤(1 包括制定包括并置的剩余压缩块(CCri)的数据串(LS)。
7.一种用于将来自存储式存储器(SM)的分页数据传送到第一存储器(WM)的方法,所述第一存储器(WM)包括具有第一存储页面大小(MMUQ的第一存储页面(MMUi),所述存储式存储器(SM)包括具有第二存储页面大小(SMPQ的存储式存储页面(SMPi),所述分页数据存储在所述存储式存储页面(SMPi)中并且包括压缩块(CCi)或未压缩内容,所述方法包括对于每个第一存储页面(MMUi),以小于或等于ceil (r)的读访问的次数访问(7)所述存储式存储器(SM),其中r为所述第一存储页面大小(MMUQ和所述第二存储页面大小 (SMPS)之间的比率,并且将每个读出的未压缩内容直接存储在所述第一存储页面(MMUi) 中,或者在解压缩每个读出的压缩块(CCi)之后将相应的解压缩块存储在所述第一存储页面(MMUi)中。
8.根据权利要求7所述的方法,还包括提供存储在所述存储式存储页面(SMPi)中的映射表(MT),所述映射表(MT)包含所述存储式存储器(SM)内的压缩块(CCi)或未压缩内容的位置和相应的第一存储页面(MMUi)之间的映射信息,并且所述方法包括通过使用所述映射表(MT)检索存储在所述存储式存储页面(SMPi)中的正确的压缩块(CCi)或未压缩内容。
9.根据权利要求8所述的方法,其中所述映射表在启动时被屏蔽。
10.根据权利要求7-9中的任一项所述的方法,其中所述分页数据通过使用根据权利要求1-5中的任一项所述的存储方法存储在所述存储式存储器(SM)中。
11.一种用于将来自存储式存储器(SM)的分页数据传送到第一存储器(WM)的设备 (30),所述第一存储器(WM)包括具有第一存储页面大小(MMUQ的第一存储页面(MMUi), 所述存储式存储器(SM)包括具有第二存储页面大小(SMPQ的存储式存储页面(SMPi),所述分页数据存储在所述存储式存储页面(SMPi)中并且包括压缩块(CCi)或未压缩内容,所述设备包括被配置为对于每个第一存储页面(MMUi)以小于或等于ceil (r)的读访问的次数访问所述存储式存储器(SM)的部件(31),其中r为所述第一存储页面大小(MMUQ和所述第二存储页面大小(SMPQ之间的比率;被配置为将每个读出的未压缩内容直接存储在所述第一存储页面(MMUi)中的部件(3 ;以及被配置为在解压缩每个读出的压缩块(CCi) 之后将相应的解压缩块存储在所述第一存储页面(MMUi)中的部件(32)。
12.根据权利要求11所述的设备,还包括存储在所述存储式存储页面(SMPi)中的映射表(MT),所述映射表(MT)包含所述存储式存储器(SM)内的压缩块(CCi)或未压缩内容的位置和相应的第一存储页面(MMUi)之间的映射信息,并且所述访问部件(31)还被配置为通过使用所述映射表(MT)检索存储在所述存储式存储页面(SMPi)中的正确的压缩块 (CCi)或未压缩内容。
13.根据权利要求12所述的设备,其中所述访问部件被配置为在启动时访问所述映射表(MT)。
14.根据权利要求11-13中的任一项所述的设备,其中所述存储式存储器包括通过使用根据权利要求1-5中的任一项所述的存储方法存储在所述存储式存储器(SM)中的分页数据。
15.一种无线通信装置(50),其包括根据权利要求11-14中的任一项所述的设备(30)。
16.根据权利要求15所述的无线通信装置(50),其是蜂窝式移动电话。
全文摘要
一种用于将分页数据存储在存储式存储器(SM)中的方法,所述分页数据被包括在具有第一存储页面大小(MMUS)的第一存储页面(MMUi)中,所述存储式存储器(SM)包括具有第二存储页面大小(SMPS)的存储式存储页面(SMPi),所述方法包括将每个第一存储页面(MMUi)的内容独立地压缩(1)为压缩块(CCi),比较每个压缩块大小(CCSi)与所述第一存储页面大小(MMUS),并且如果压缩块(CCi)的大小(CCSi)严格地小于所述第一存储页面大小(MMUS),则将所述压缩块(CCi)存储(3)在小于或等于ceil(r)的数量的存储式存储页面(SMPi)中,其中r为所述第一存储页面大小(MMUS)和所述第二存储页面大小(SMPS)之间的比率;而如果压缩块(CCi)的大小(CCSi)大于所述第一存储页面大小(MMUS),则将所述第一存储页面(MMUi)的未压缩内容直接存储(3)在等于ceil(r)的数量的存储式存储页面(SMPi)中;而如果压缩块(CCi)的大小(CCSi)等于所述第一存储页面大小(MMUS),则在等于ceil(r)的数量的存储式存储页面(SMPi)中存储(3)所述压缩块(CCi)或直接存储(3)所述第一存储页面(MMUi)的未压缩内容。
文档编号G11B20/00GK102265343SQ200980152051
公开日2011年11月30日 申请日期2009年12月7日 优先权日2008年12月22日
发明者H·赛伯特, M·普费弗 申请人:意法爱立信(法国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1