CN102792296A - 移动终端中请求页面调度方法、控制器以及移动终端 - Google Patents

移动终端中请求页面调度方法、控制器以及移动终端 Download PDF

Info

Publication number
CN102792296A
CN102792296A CN2011800053836A CN201180005383A CN102792296A CN 102792296 A CN102792296 A CN 102792296A CN 2011800053836 A CN2011800053836 A CN 2011800053836A CN 201180005383 A CN201180005383 A CN 201180005383A CN 102792296 A CN102792296 A CN 102792296A
Authority
CN
China
Prior art keywords
portable terminal
storer
controller
compressed file
file
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.)
Granted
Application number
CN2011800053836A
Other languages
English (en)
Other versions
CN102792296B (zh
Inventor
柴益鹏
贾明军
师延山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Spreadtrum Communications Shanghai Co Ltd
Original Assignee
Spreadtrum Communications Shanghai Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Spreadtrum Communications Shanghai Co Ltd filed Critical Spreadtrum Communications Shanghai Co Ltd
Publication of CN102792296A publication Critical patent/CN102792296A/zh
Application granted granted Critical
Publication of CN102792296B publication Critical patent/CN102792296B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/251Local memory within processor subsystem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/253Centralized memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Abstract

一种移动终端中请求页面调度方法、控制器以及移动终端,其中请求页面调度方法包括:在移动终端运行需要压缩文件时,确定所述压缩文件在移动终端的控制器外部的存储位置;所述移动终端的控制器内部的解码单元对所述存储位置上的压缩文件进行解压缩,将解压缩后的文件存储于指定的存储器,其中所述指定的存储器包括所述移动终端的控制器内部的存储器和/或所述移动终端的控制器外部的存储器;所述移动终端基于所述解压缩后的文件继续运行。本技术方案提高了移动终端解码压缩文件的速率,在此基础上还可以充分利用移动终端的控制器内部的存储器的存储空间资源,在内部的存储器中存储解压缩后的文件,提高移动终端中请求页面调度的处理效率。

Description

移动终端中请求页面调度方法、控制器以及移动终端
技术领域
本发明涉及通信技术领域,特别涉及一种移动终端中请求页面调度方法、控制器以及移动终端。
背景技术
随着移动终端的普及,为了给用户提供更多的服务,移动终端上应用程序的数量也不断增加,另外用户在使用移动终端时经常同时运行多个应用程序,从而增大了移动终端的内存处理指令和数据的负担。
目前,移动终端上使用了虚拟存储的机制,并借此增加主存(MainMemory)或主存储器的随机存取存储器(Random Access Memory,RAM)的可见尺寸。也就是利用在硬盘、USB、Flash(闪存)等非易失性存储装置上被称为辅助存储器或二级存储器的存储区来备份RAM。这相当于在实际物理存在的RAM之外,引入了虚拟地址空间。虚拟地址空间通常被分成页面帧,并且能够由处理器(Processor)进行访问。内存管理单元(Memory ManagementUnit,MMU)提供了一种转换机制,将处理器中运行的进程发出的虚拟地址转换成进程所要求的指令或数据的物理页面。当操作系统缺乏物理页面时,系统所要求的指令或数据会从存储装置中调入主存的物理页面中,并与虚拟页面之间形成映射。而如果被替换物理页面曾经被修改,则该页面会被保存。这一技术最初来自于UNIX,被称为请求页面调度(Demand Paging)。
如图1所示的是现有的一种移动终端的结构示意图。参考图1,所述移动终端1包括通过总线13相连接的控制器10、外部辅助存储器11以及移动终端的控制器10外部的存储器12。其中所述控制器10还包括通过总线13相互连接的中央处理器101、直接存取访问控制器102、内存管理单元103以及内部的存储器104。
具体地,当所述中央处理器101运行程序(通常程序中包含多个进程)时,通过所述直接存取访问控制器102可以访问所述内部的存储器104内存储的进程所要求的指令或数据的物理页面;而当所述内部的存储器104内缺失运行程序所需要的物理页面时,所述中央处理器101将从所述外部辅助存储器11中调入内部的存储器104的物理页面中,并与虚拟页面之间形成映射。具体是通过所述内存管理单元103提供转换机制,将中央处理器101中运行的进程发出的虚拟地址转换成进程所要求的指令或数据的物理页面。
进一步地,为了节省外部辅助存储器11的存储空间,在所述外部辅助存储器11中部分程序指令和数据是以压缩文件格式存储的。当中央处理器101需要读取这些压缩文件时,首先需要通过设置于所述控制器10外部的解码程序(图未示)将其解压缩,解压缩后的文件一般存储于外部的存储器12中;然后,通过所述内存管理单元103提供的虚拟地址与所述外部的存储器12的物理地址映射和转换获取解压缩后的文件中保存的程序指令和数据,并基于所述解压缩后的文件继续程序运行。
根据上述移动终端运行程序的处理过程,由于设置于所述控制器10外部的解码程序的解压缩速率通常较慢,而且通过解码程序对压缩文件解压缩后的文件没有存储于控制器内部的存储器,从而造成内部的存储器的资源浪费,也降低了中央处理器运行解压缩后的文件的速率。
更多关于请求页面调度的方法可以参考公开号为US7617381B2的美国专利申请文件:嵌入式系统的请求页面调度方法(Demand paging apparatus andmethod for embedded system),但同样没有解决上述问题。
发明内容
本发明解决的问题是提高移动终端解码压缩文件的速率,提高移动终端中请求页面调度的处理效率。
为解决上述问题,本发明实施例提供了一种移动终端中请求页面调度的方法,包括:在移动终端运行需要压缩文件时,确定所述压缩文件在移动终端的控制器外部的存储位置;所述移动终端的控制器内部的解码单元对所述存储位置上的压缩文件进行解压缩,将解压缩后的文件存储于指定的存储器,其中所述指定的存储器包括所述移动终端的控制器内部的存储器和/或所述移动终端的控制器外部的存储器;所述移动终端基于所述解压缩后的文件继续运行。
可选地,所述压缩文件在移动终端的控制器外部的存储位置包括压缩文件在外部辅助存储器上的存储位置或者将压缩文件自外部辅助存储器转移到外部的存储器后的存储位置。
可选地,所述移动终端运行需要压缩文件包括:所述移动终端的控制器在运行时产生预取错误或者数据异常。
可选地,所述确定所述压缩文件在移动终端的控制器外部的存储位置包括:确定所述发生预取错误时的指令地址或者产生数据异常时的数据地址;基于压缩文件索引表,确定与所述指令地址或者数据地址相对应的压缩文件在外部辅助存储器的存储地址并确定所述压缩文件的存储长度。
可选地,还包括:将所述压缩文件从外部辅助存储器移动到所述移动终端的控制器外部的存储器,基于所述压缩文件在移动终端的控制器外部的存储器中的存储地址和存储长度确定所述述压缩文件在移动终端的控制器外部的存储位置。
可选地,在所述移动终端基于所述解压缩后的文件继续运行前,还包括:将产生预取错误的指令地址或者数据异常的数据地址映射到解压缩的文件存储的存储器地址。
可选地,采用页面帧对齐的方式确定解压缩后的文件的存储器。
可选地,还包括:在移动终端运行需要压缩文件时,所述移动终端进入异常处理模式;在所述移动终端基于所述解压缩后的文件继续运行时,切换到进入异常处理模式前的工作模式和状态。
可选地,所述压缩文件包括在外部辅助存储器存储的映像文件中;所述映像文件中还包括未压缩文件。
可选地,还包括:在移动终端运行需要未存储在移动终端的控制器内部的未压缩文件时,所述移动终端的控制器基于外部辅助存储器中存储的未压缩文件运行;或者将所述未压缩文件从所述外部辅助存储器移动到移动终端的控制器外部的存储器,所述移动终端的控制器基于所述移动终端的控制器外部的存储器中的未压缩文件运行。
可选地,所述映像文件中包括程序中的指令和常量和程序中已初始化变量。
可选地,还包括:移动终端运行未压缩文件,以初始化运行环境。
可选地,所述未压缩文件存储于NAND闪存上;所述移动终端运行未压缩文件包括:将存储于NAND闪存的未压缩文件复制到所述移动终端的控制器外部的存储器,运行所述移动终端的控制器外部的存储器上的未压缩文件。
可选地,所述未压缩文件存储于NOR闪存上;所述移动终端基于未压缩文件运行包括:运行存储于所述NOR闪存上的未压缩文件。
本发明实施例提供了一种控制器,包括:通过总线相连接的中央处理器、直接存取访问控制器、内存管理单元、内部的存储器以及解码单元;其中所述解码单元用于将外部辅助存储器存储的压缩文件解压缩后存储于指定的存储器,其中所述指定的存储器包括所述控制器外部的存储器和/或所述控制器内部的存储器。
本发明实施例还提供了一种移动终端,包括通过移动终端的总线相连接的控制器、外部辅助存储器以及移动终端的控制器外部的存储器;
所述控制器包括:通过移动终端的总线相连接的中央处理器、直接存取访问控制器、内存管理单元、内部的存储器以及解码单元;其中所述解码单元用于将所述外部辅助存储器存储的压缩文件解压缩后存储于指定的存储器,其中所述指定的存储器包括所述移动终端的控制器外部的存储器和/或所述移动终端的控制器内部的存储器。
可选地,所述外部辅助存储器中存储有未压缩文件和压缩文件,其中所述压缩文件和未压缩文件包括程序中的指令和常量、程序中已初始化变量以及程序中未初始化变量。
可选地,所述外部辅助存储器中存储有未压缩文件和压缩文件,所述未压缩文件包括程序中的指令和常量、程序中已初始化变量以及程序中未初始化变量;所述压缩文件包括程序中的指令和常量。
可选地,所述外部辅助存储器包括:闪存、硬盘、光盘、USB闪存盘中任意一种。
可选地,所述中央处理器适于运行外部辅助存储器中的未压缩文件或者运行自所述外部辅助存储器移动到所述移动终端的控制器外部的存储器中的未压缩文件。
与现有技术相比,本发明技术方案具有以下有益效果:在移动终端中,通过移动终端的控制器内部的解码单元对存储于所述移动终端的控制器外部的压缩文件进行解压缩,然后,所述移动终端基于所述解压缩后的文件继续运行。本技术方案提高了移动终端解码压缩文件的速率。从而提高移动终端中请求页面调度的处理效率。
在此基础上,在将解压缩后的文件存储于指定的存储器时,所述存储器包括所述移动终端的控制器内部的存储器和/或所述移动终端的控制器外部的存储器,从而可以充分利用移动终端的控制器内部的存储器的存储空间资源,在内部的存储器中存储部分解压缩后的文件,进一步提高移动终端中请求页面调度的处理效率。
附图说明
图1是现有技术的一种移动终端的结构示意图;
图2是本发明的一种控制器的具体实施例的结构示意图;
图3是本发明的一种移动终端的具体实施例的结构示意图;
图4是本发明的一种请求页面调度方法的具体实施方式的流程示意图;
图5是本发明的一种压缩文件包的具体实施例的结构示意图。
具体实施方式
发明人发现在现有的移动终端运行程序的处理过程中,由于设置于移动终端的控制器外部的解码程序的解压缩速率通常较慢,而且通过解码程序对压缩文件解压缩后的文件没有存储于控制器内部的存储器,从而造成移动终端的控制器内部的存储器的资源浪费,也降低了中央处理器运行解压缩后的文件的速率。
针对上述问题,发明人经过研究,提供了一种移动终端中请求页面调度的方法和移动终端,本发明的技术方案提高了移动终端解码压缩文件的速率,并充分利用移动终端的控制器内部的存储器的存储空间资源,在内部的存储器中存储部分解压缩后的文件,提高移动终端中请求页面调度的处理效率。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
如图3所示的是本发明实施例的一种移动终端的具体实施例的结构示意图。参考图3,所述移动终端2包括通过移动终端的总线23相连接的控制器20、外部辅助存储器21以及移动终端的控制器20外部的存储器22;其中,所述控制器20包括:通过移动终端的总线23相连接的中央处理器201、直接存取访问控制器202、内存管理单元203、内部的存储器204以及解码单元205。
在所述中央处理器201运行所需的指令或数据为存储在移动终端的控制器20内部的存储器204时,所述中央处理器201适于运行外部辅助存储器21中的未压缩文件或者运行自所述外部辅助存储器21移动到所述移动终端的控制器20外部的存储器22中的未压缩文件。具体地,所述中央处理器201可以通过所述内存管理单元203提供的虚拟地址与所述外部辅助存储器21或者所述移动终端的控制器20外部的存储器22的物理地址的映射和转换找到相应的未压缩文件。
所述外部辅助存储器21中的文件是以映像文件(Image文件)的形式存储的,所述映像文件是指保存到所述外部辅助存储器21中的二进制文件。所述映像文件包括未压缩文件和压缩文件,其中所述压缩文件和未压缩文件包括程序中的指令和常量(RO)、程序中已初始化变量(RW)以及程序中未初始化变量(ZI);或者所述未压缩文件包括程序中的指令和常量(RO)、程序中已初始化变量(RW)以及程序中未初始化变量(ZI);所述压缩文件包括程序中的指令和常量(RO),例如,所述程序中的指令和常量(RO)可以包括软件界面显示所需要的资源数据,如图像、菜单、文本等,以及其他可压缩的部分程序指令。
在程序执行过程中,所述程序中的指令和常量(RO)将完成至少以下两个任务:1)将程序中已初始化变量(RW)从所述外部辅助存储器21中移动到所述移动终端的控制器20内部的存储器204中;2)将所述程序中未初始化变量(ZI)所在的内部的存储器204的区域全部清零,由于程序中未初始化变量(ZI)不在所述映像文件中,所以需要程序根据编译器(未示出)给出的ZI地址及大小来将相应的内部的存储器204区域清零。
所述外部辅助存储器21中的未压缩文件的作用主要包括:1)初始化系统运行所需的基本环境;2)放置不能够使用请求页面调度技术进行运行的程序指令和数据;3)运行使用请求页面调度技术所必需的一些程序指令和数据。
进一步地,所述外部辅助存储器21可以包括闪存、硬盘、光盘、USB闪存盘中任意一种,在实际应用中,所述外部辅助存储器21还可以包括其他非易失性存储装置,在此不予赘述。
在本实施例中,所述外部辅助存储器21以闪存为例进行描述。通常闪存包括两种类型,分别是NAND内存和NOR内存。本领域技术人员可以理解,NOR闪存和NAND闪存在寻址方式上有明显的区别。NAND闪存每次读取数据时都是指定块地址、页地址、列地址,其中列地址就是所读页地址内的起始地址。NAND闪存在读取数据时,每次都是先将数据读入页缓冲区内,再由输入/输出线(I/O)中的输入地址在缓冲区内寻址,主要是通过所述列地址指定起始地址的作用。
进一步地,NAND闪存是以页为基本单位操作的。写入数据也是首先在页面缓冲区内缓冲,具体是首先将数据和程序指令写入页面缓冲区,再将数据和程序指令一起写入页内。因此,对于NAND闪存,每次改写一个字节,都需要重写整个页,而且如果页内有未擦除的部分,则无法编程,在写入前必须保证页内清空。因此设置NAND页缓冲区的作用就是保证NAND闪存按页为单位进行读/写操作,因此需要缓冲。而NOR闪存则是以字节为基本单位操作的,可以字节写、读,但擦除是按照扇区为单位进行操作的。
需要说明的是,所述移动终端的控制器20和所述移动终端的控制器20外部的存储器22可以是集成在同一块芯片内的;或者也可以是所述移动终端的控制器20自身为一块芯片,而所述移动终端的控制器20外部存储器22在该芯片外部。但是针对这两种封装方式,并不影响所述移动终端的控制器20和所述移动终端的控制器20内部的存储器204以及外部的存储器22之间的逻辑关系。
与现有技术不同的是,本发明实施例中,解码单元205是以硬件形式设置于所述控制器20的内部。具体地,在执行请求页面调度时,所述解码单元205用于将所述外部辅助存储器21存储的压缩文件解压缩后存储于指定的存储器,其中所述存储器包括所述移动终端的控制器20外部的存储器22和/或所述移动终端的控制器20内部的存储器204。具体地,本发明实施例所述请求页面调度的具体实施方式将在图4中作详细描述。
在本实施例中,所述移动终端的控制器20外部的存储器22可以是随机存取存储器(Random Access Memory,RAM),程序运行时未压缩文件中包括程序中已初始化变量(RW)和程序中未初始化变量(ZI)两部分。针对不同的所述外部辅助存储器21,同样以闪存为例,当所述外部辅助存储器21是NOR闪存时,随机存取存储器(RAM)中还可以存储未压缩文件中的程序中的指令和常量(RO)。而当所述外部辅助存储器21是NAND闪存时,随机存取存储器(RAM)中则必须存储未压缩文件中的程序中的指令和常量(RO),以及运行程序所需的压缩文件中程序指令和数据。
根据图2所示的一种移动终端的具体实施例的结构示意图,本发明实施例还提供的一种控制器的具体实施例的结构示意图。参考图2,所述控制器20包括:通过总线23相连接的中央处理器201、直接存取访问控制器202、内存管理单元203、内部的存储器204以及解码单元205。其中所述解码单元205用于将外部辅助存储器(未示出)存储的压缩文件解压缩后存储于指定的存储器,其中所述指定的存储器包括控制器20外部的存储器(未示出)和/或控制器20内部的存储器204。
需要说明的是,在实际应用中,所述控制器20可以单独做成一块芯片,在移动终端2中,该芯片通过所述移动终端2的总线23与所述外部辅助存储器21和外部的存储器22相连接。
如图4所示的是本发明的一种请求页面调度方法的具体实施方式的流程示意图。参考图4,所述请求页面调度方法包括:
步骤S1:在移动终端运行需要压缩文件时,确定所述压缩文件在移动终端的控制器外部的存储位置。
具体地,在本实施例中,所述压缩文件在移动终端的控制器外部的存储位置包括:压缩文件在外部辅助存储器上的存储位置或者将压缩文件自外部辅助存储器转移到外部的存储器后的存储位置。
其中所述外部辅助存储器以闪存为例,具体地,当所述外部辅助存储器是NOR闪存时,所述压缩文件在移动终端的控制器外部的存储位置是指压缩文件在NOR闪存的存储位置;当所述外部辅助存储器是NAND闪存时,所述压缩文件在移动终端的控制器外部的存储位置是指将压缩文件自外部辅助存储器转移到外部的存储器后的存储位置。
进一步地,所述压缩文件包括在外部辅助存储器存储的映像文件中,所述映像文件中还包括未压缩文件。所述映像文件中包括程序中的指令和常量和程序中已初始化变量。
所述移动终端运行需要压缩文件包括:所述移动终端的控制器在运行时产生预取错误(Prefetch Fault)或者数据异常(Data Abort)。其中,所述预取错误是指当中央处理器去一个访问地址读取指令时,发现内存管理单元对所述访问地址没有做实际物理内存地址映射;所述数据异常是指当中央处理器去一个访问地址读取数据时,发现内存管理单元对所述访问地址没有做实际物理内存地址映射。
进一步地,所述确定所述压缩文件在移动终端的控制器外部的存储位置根据不同的外部辅助存储器,其具体实现方式也不相同。具体地,同样以闪存为例,当所述闪存为NOR闪存时,包括如下步骤:
1)确定所述发生预取错误时的指令地址或者产生数据异常时的数据地址。在本实施例中,当移动终端运行需要压缩文件时,所述移动终端进入异常处理模式。进入异常处理模式时,中央处理器会自动将产生异常时的一些程序指令和数据保存到在所述异常处理模式下可以访问到的一些寄存器内,这其中包含预取错误时的指令地址或者产生数据异常时的数据地址。
2)基于压缩文件索引表,确定与所述指令地址或者数据地址相对应的压缩文件的存储地址并确定所述压缩文件的存储长度。
具体地,所述压缩文件索引表可以参考如图5所示的本发明实施例的一种压缩文件包的结构示意图。如图5所示,在所述压缩文件包的头部,建立一个压缩文件索引列表,该索引列表中每个索引地址直接指向对应的压缩数据文件,所述索引地址即压缩数据文件(Compress Data File)的绝对位置,其中所述索引地址即所述指令地址或者数据地址。例如,索引地址0指向压缩数据文件0、索引地址1指向压缩数据文件1、索引地址2指向压缩数据文件2、索引地址3指向压缩数据文件3、索引地址4指向压缩数据文件4,依此类推。进一步地,在本实施例中,假设每个压缩数据文件的长度是4k字节,压缩后长度不一。那么如果需要查找第3个4k字节的压缩数据文件,则需在该索引列表中寻找到索引地址2所对应的压缩文件中的地址,再读取从该地址开始一直到索引地址3所指定地址之前的位置,即可获得所述第3个4k字节对应的压缩后的内容。
需要说明的是,在实际应用中,所述压缩文件索引表并不局限于上述方式。例如,索引列表中包含多个索引单元,其中每个索引单元都不仅仅标识了对应压缩数据文件的绝对地址,还标识了压缩数据文件的长度;又例如,索引列表中的每个索引单元仅仅标识了所对应的压缩数据文件的长度;再例如,索引列表的每个索引单元不是分布在所述压缩文件包的头部,而是分布在每个压缩数据文件的头部。
而当所述闪存是NAND闪存时,由于其读取速度慢于NOR内存,需要先将所述压缩文件移动到移动终端的控制器外部的存储器,因此还包括如下步骤:将所述压缩文件移动到所述移动终端的控制器外部的存储器,基于所述压缩文件在移动终端的控制器外部的存储器中的存储地址和存储长度确定所述压缩文件在移动终端的控制器外部的存储位置。
需要说明的是,上文中当所述闪存是NOR闪存时,也可以采用上述步骤的实现方式,即也将存储于NOR闪存的压缩文件先移动到所述移动终端外部的存储器,然后基于所述压缩文件在移动终端外部的存储器中的存储地址和存储长度确定所述压缩文件在移动终端的控制器外部的存储位置。
步骤S2,所述移动终端的控制器内部的解码单元对所述存储位置上的压缩文件进行解压缩,将解压缩后的文件存储于指定的存储器,其中所述指定的存储器包括所述移动终端的控制器内部的存储器和/或所述移动终端的控制器外部的存储器。
具体地,在本实施例中,例如,可以采用页面帧对齐的方式确定解压缩后的文件的存储器。根据上述步骤S1可以看出,当所述外部辅助存储器是NOR闪存时,所述存储地址是在NOR闪存中;而当所述外部辅助存储器是NAND闪存时,所述存储地址则位于移动终端的控制器外部的存储器中。然后,中央处理器再将压缩数据文件的存储地址和存储长度,以及按照页面帧对齐的用来存放解压缩后的数据的存储器的存储地址和存储长度等信息配置给解码单元。最后,中央处理器再启动移动终端的控制器内部的解码单元,这样所述解码单元就会自动将查找到的对应存储的压缩内容直接解压缩到了指定的存储器中,其中所述指定的存储器包括移动终端的控制器内部的存储器和/或移动终端的控制器外部的存储器。
进一步地,用于请求页面调度使用的页面帧(Page Frame)的缓冲内存与所述闪存的读取速度以及所述解码单元的解码速度是有关联的。由于在压缩文件中,程序指令和数据的压缩是以块为单位进行压缩的,这样就造成即便只是运行块中的一条指令也必须先将整个块的压缩文件全部解压缩出来后才能够运行,而每个用于压缩的程序代码和数据的大小至少为一个请求调度的页面帧大小。因此,综合程序指令和数据的压缩比、解码单元的解码速度以及请求页面调度使用的页面帧的大小,通常选择用于压缩的块的大小为4KB(千字节)或1KB,这就相当于执行一条指令就必须解码4KB或者1KB数据。换句话说,如果移动终端中不存在存放解压缩文件的缓冲内存,而只是在每次执行新的程序指令时来解压缩文件的方式来运行程序,那么移动终端就会因为需要频繁的解压缩文件而浪费大量的运算能力。
因此,如果在移动终端中使用一些内存空间(缓冲内存)存放先前已经解压缩过的文件(或者说程序代码和数据),那么移动终端在运行过程中,压缩文件的解压缩频率就会降低,并且增加的这种缓冲内存越大,移动终端运行时需要解压缩新的程序代码和数据的频率就会越低,这样对于闪存(包括NAND闪存和NOR闪存)和移动终端的控制器内部的解码单元在读取数据和解压缩速度上的要求就越低。反之如果用于存放先前已经解压缩过的数据缓冲内存越小的话,程序代码和数据需要解压缩的频率就会越高,这样就会对解码单元的解压缩速度以及闪存(包括NAND闪存和NOR闪存)的数据读取速度就要求越高。具体地,在实际应用中,通常在保持64个解压缩数据帧缓冲内存的前提下,如果解压缩出一帧数据不超过40微秒,移动终端的运行性能比同不采用请求页面调度技术的运行性能只下降10%-20%;因而在闪存的读取速率较高(例如NOR闪存)、同时解码单元的解压缩速率也较高的情况下,可选择移动终端的控制器内部的存储器作为解压缩数据帧存放缓冲内存;而在闪存的读取速率较慢(例如NAND闪存)、同时解码单元的解码速率也较慢的情况下,可以使用移动终端的控制器外部的存储器作为解压缩数据帧存放缓冲内存。
步骤S3:所述移动终端基于所述解压缩后的文件继续运行。
具体地,本实施例中,在所述移动终端基于所述解压缩后的文件继续运行时,所述移动终端将切换到进入异常处理模式前的工作模式和状态。其中所述异常处理模式前的工作模式即为正常工作模式,所述状态为从产生预取错误或者数据异常时的地址重新开始运行程序。进一步地,在所述移动终端基于所述解压缩后的文件继续运行前,还包括:将产生预取错误的指令地址或者数据异常的数据地址映射到解压缩的文件存储的存储器地址。
进一步地,在上述步骤S1之前还包括步骤:移动终端运行未压缩文件,以初始化运行环境。其中,所述未压缩文件中的程序指令和数据,使移动终端中的操作系统建立起了基本的运行环境,例如使得系统得以正常运行的进程的建立,移动终端中各设备按系统的配置正常工作,数据被正常读取并显示等。进一步地,根据不同的闪存,该步骤的实施方式不同,具体如下:
例如,所述未压缩文件存储于NAND闪存上;所述移动终端基于未压缩文件运行包括:将存储于NAND闪存的未压缩文件复制到所述移动终端的控制器外部的存储器,运行所述移动终端的控制器外部的存储器上的未压缩文件。例如,所述未压缩文件存储于NOR闪存上;所述移动终端基于未压缩文件运行包括:直接运行存储于所述NOR闪存上的未压缩文件。
更进一步地,在所述移动终端完成初始化并建立基本的运行环境后,移动终端将继续运行程序,在此过程中,当所述移动终端运行需要未存储在移动终端的控制器内部的未压缩文件时,所述移动终端的控制器基于外部辅助存储器中存储的未压缩文件运行。具体地,例如,所述外部辅助存储器可以是NOR闪存,通过所述移动终端的控制器内部的内存管理单元提供的虚拟地址和外部辅助存储器的物理地址之间的映射和转换机制,所述移动终端的控制器内部的中央处理器可以运行外部辅助存储器中存储的未压缩文件。
所述移动终端的控制器将所述未压缩文件从所述外部辅助存储器移动到移动终端的控制器外部的存储器,所述移动终端的控制器基于所述移动终端的控制器外部的存储器中的未压缩文件运行。具体地,例如,所述外部辅助存储器可以是NAND闪存,由于NAND闪存的读取速率慢于NOR闪存,因此需要先将所述未压缩文件从所述NAND闪存中移动到移动终端的控制器外部的存储器,然后所述移动终端的控制器内部的中央处理器可以运行存储于所述移动终端的控制器外部的存储器中的未压缩文件。
综上所述,本发明的技术方案提高了移动终端解码压缩文件的速率,在此基础上还可以充分利用移动终端的控制器内部的存储器的存储空间资源,在内部的存储器中存储解压缩后的文件,提高移动终端中请求页面调度的处理效率。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。

Claims (20)

1.一种移动终端中请求页面调度的方法,其特征在于,包括:
在移动终端运行需要压缩文件时,确定所述压缩文件在移动终端的控制器外部的存储位置;
所述移动终端的控制器内部的解码单元对所述存储位置上的压缩文件进行解压缩,将解压缩后的文件存储于指定的存储器,其中所述指定的存储器包括所述移动终端的控制器内部的存储器和/或所述移动终端的控制器外部的存储器;
所述移动终端基于所述解压缩后的文件继续运行。
2.根据权利要求1所述的移动终端中请求页面调度的方法,其特征在于,所述压缩文件在移动终端的控制器外部的存储位置包括压缩文件在外部辅助存储器上的存储位置或者将压缩文件自外部辅助存储器转移到外部的存储器后的存储位置。
3.根据权利要求2所述的移动终端中请求页面调度的方法,其特征在于,所述移动终端运行需要压缩文件包括:所述移动终端的控制器在运行时产生预取错误或者数据异常。
4.根据权利要求3所述的移动终端中请求页面调度的方法,其特征在于,所述确定所述压缩文件在移动终端的控制器外部的存储位置包括:
确定所述发生预取错误时的指令地址或者产生数据异常时的数据地址;
基于压缩文件索引表,确定与所述指令地址或者数据地址相对应的压缩文件在外部辅助存储器的存储地址并确定所述压缩文件的存储长度。
5.根据权利要求4所述的移动终端中请求页面调度的方法,其特征在于,还包括:将所述压缩文件从外部辅助存储器移动到所述移动终端的控制器外部的存储器,基于所述压缩文件在移动终端的控制器外部的存储器中的存储地址和存储长度确定所述压缩文件在移动终端的控制器外部的存储位置。
6.根据权利要求3所述的移动终端中请求页面调度的方法,其特征在于,在所述移动终端基于所述解压缩后的文件继续运行前,还包括:将产生预取错误的指令地址或者数据异常的数据地址映射到解压缩的文件存储的存储器地址。
7.根据权利要求1所述的移动终端中请求页面调度的方法,其特征在于,采用页面帧对齐的方式确定解压缩后的文件的存储器。
8.根据权利要求1所述的移动终端中请求页面调度的方法,其特征在于,还包括:在移动终端运行需要压缩文件时,所述移动终端进入异常处理模式;在所述移动终端基于所述解压缩后的文件继续运行时,切换到进入异常处理模式前的工作模式和状态。
9.根据权利要求2所述的移动终端中请求页面调度的方法,其特征在于,所述压缩文件包括在外部辅助存储器存储的映像文件中;所述映像文件中还包括未压缩文件。
10.根据权利要求9所述的移动终端中请求页面调度的方法,其特征在于,还包括:在移动终端运行需要未存储在移动终端的控制器内部的未压缩文件时,所述移动终端的控制器基于外部辅助存储器中存储的未压缩文件运行;或者将所述未压缩文件从所述外部辅助存储器移动到移动终端的控制器外部的存储器,所述移动终端的控制器基于所述移动终端的控制器外部的存储器中的未压缩文件运行。
11.根据权利要求9所述的移动终端中请求页面调度的方法,其特征在于,所述映像文件中包括程序中的指令和常量和程序中已初始化变量。
12.根据权利要求1所述的移动终端中请求页面调度的方法,其特征在于,还包括:移动终端运行未压缩文件,以初始化运行环境。
13.根据权利要求12所述的移动终端中请求页面调度的方法,其特征在于,所述未压缩文件存储于NAND闪存上;所述移动终端运行未压缩文件包括:
将存储于NAND闪存的未压缩文件复制到所述移动终端的控制器外部的存储器,运行所述移动终端的控制器外部的存储器上的未压缩文件。
14.根据权利要求12所述的移动终端中请求页面调度的方法,其特征在于,所述未压缩文件存储于NOR闪存上;所述移动终端基于未压缩文件运行包括:
运行存储于所述NOR闪存上的未压缩文件。
15.一种控制器,其特征在于,包括:通过总线相连接的中央处理器、直接存取访问控制器、内存管理单元、内部的存储器以及解码单元;其中所述解码单元用于将外部辅助存储器存储的压缩文件解压缩后存储于指定的存储器,其中所述指定的存储器包括所述控制器外部的存储器和/或所述控制器内部的存储器。
16.一种移动终端,包括通过移动终端的总线相连接的控制器、外部辅助存储器以及移动终端的控制器外部的存储器;其特征在于,
所述控制器包括:通过移动终端的总线相连接的中央处理器、直接存取访问控制器、内存管理单元、内部的存储器以及解码单元;其中所述解码单元用于将所述外部辅助存储器存储的压缩文件解压缩后存储于指定的存储器,其中所述指定的存储器包括所述移动终端的控制器外部的存储器和/或所述移动终端的控制器内部的存储器。
17.根据权利要求16所述的移动终端,其特征在于,所述外部辅助存储器中存储有未压缩文件和压缩文件,其中所述压缩文件和未压缩文件包括程序中的指令和常量、程序中已初始化变量以及程序中未初始化变量。
18.根据权利要求16所述的移动终端,其特征在于,所述外部辅助存储器中存储有未压缩文件和压缩文件,所述未压缩文件包括程序中的指令和常量、程序中已初始化变量以及程序中未初始化变量;所述压缩文件包括程序中的指令和常量。
19.根据权利要求16所述的移动终端,其特征在于,所述外部辅助存储器包括:闪存、硬盘、光盘、USB闪存盘中任意一种。
20.根据权利要求16所述的移动终端,其特征在于,所述中央处理器适于运行外部辅助存储器中的未压缩文件或者运行自所述外部辅助存储器移动到所述移动终端的控制器外部的存储器中的未压缩文件。
CN201180005383.6A 2011-08-15 2011-08-15 移动终端中请求页面调度方法、控制器以及移动终端 Active CN102792296B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/078422 WO2012113206A1 (zh) 2011-08-15 2011-08-15 移动终端中请求页面调度方法、控制器以及移动终端

Publications (2)

Publication Number Publication Date
CN102792296A true CN102792296A (zh) 2012-11-21
CN102792296B CN102792296B (zh) 2016-10-26

Family

ID=46720106

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180005383.6A Active CN102792296B (zh) 2011-08-15 2011-08-15 移动终端中请求页面调度方法、控制器以及移动终端

Country Status (4)

Country Link
US (1) US9471584B2 (zh)
EP (1) EP2746953A4 (zh)
CN (1) CN102792296B (zh)
WO (1) WO2012113206A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107003907A (zh) * 2016-01-26 2017-08-01 华为技术有限公司 一种数据处理方法以及数据处理设备
CN107250991A (zh) * 2015-02-13 2017-10-13 谷歌公司 透明硬件辅助存储器解压缩
CN109254954A (zh) * 2018-09-13 2019-01-22 政采云有限公司 文件处理方法和装置、计算设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9471584B2 (en) 2011-08-15 2016-10-18 Spreadtrum Communications (Shanghai) Co., Ltd. Demand paging method for mobile terminal, controller and mobile terminal

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6349375B1 (en) * 1994-02-02 2002-02-19 Compaq Computer Corporation Compression of data in read only storage and embedded systems
CN1737759A (zh) * 2005-08-27 2006-02-22 海信集团有限公司 一种在Nand Flash存储器中直接建立只读文件系统的方法
CN1745574A (zh) * 2002-12-06 2006-03-08 日本电气株式会社 配备有摄像机的移动终端
CN101146191A (zh) * 2007-10-15 2008-03-19 晨星半导体股份有限公司 应用于嵌入式系统的数据处理方法
CN101188833A (zh) * 2006-11-22 2008-05-28 三星电子株式会社 用于便携式终端中的高效率存储器利用的装置和方法
CN101206618A (zh) * 2006-09-08 2008-06-25 三星电子株式会社 融合式存储器设备及方法
US20100017578A1 (en) * 2006-12-22 2010-01-21 Maansson Staffan Storing Compressed Data

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5940871A (en) 1996-10-28 1999-08-17 International Business Machines Corporation Computer system and method for selectively decompressing operating system ROM image code using a page fault
US6195107B1 (en) 1998-05-29 2001-02-27 Cisco Technology, Inc. Method and system for utilizing virtual memory in an embedded system
KR100777271B1 (ko) * 2001-02-28 2007-11-20 엘지전자 주식회사 디지털 시스템의 메모리 관리 방법
TWI220959B (en) 2003-06-05 2004-09-11 Carry Computer Eng Co Ltd Storage device with optimized compression management mechanism
US20050132161A1 (en) * 2003-12-15 2005-06-16 Nokia Corporation Creation of virtual memory space in a memory
US7162584B2 (en) 2003-12-29 2007-01-09 Intel Corporation Mechanism to include hints within compressed data
US8619310B2 (en) * 2007-05-25 2013-12-31 Kyocera Document Solutions, Inc. Image forming apparatus
KR100755701B1 (ko) 2005-12-27 2007-09-05 삼성전자주식회사 내장형 시스템을 위한 요구 페이징 장치 및 방법
US7512767B2 (en) * 2006-01-04 2009-03-31 Sony Ericsson Mobile Communications Ab Data compression method for supporting virtual memory management in a demand paging system
US9471584B2 (en) 2011-08-15 2016-10-18 Spreadtrum Communications (Shanghai) Co., Ltd. Demand paging method for mobile terminal, controller and mobile terminal

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6349375B1 (en) * 1994-02-02 2002-02-19 Compaq Computer Corporation Compression of data in read only storage and embedded systems
CN1745574A (zh) * 2002-12-06 2006-03-08 日本电气株式会社 配备有摄像机的移动终端
CN1737759A (zh) * 2005-08-27 2006-02-22 海信集团有限公司 一种在Nand Flash存储器中直接建立只读文件系统的方法
CN101206618A (zh) * 2006-09-08 2008-06-25 三星电子株式会社 融合式存储器设备及方法
CN101188833A (zh) * 2006-11-22 2008-05-28 三星电子株式会社 用于便携式终端中的高效率存储器利用的装置和方法
US20100017578A1 (en) * 2006-12-22 2010-01-21 Maansson Staffan Storing Compressed Data
CN101146191A (zh) * 2007-10-15 2008-03-19 晨星半导体股份有限公司 应用于嵌入式系统的数据处理方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107250991A (zh) * 2015-02-13 2017-10-13 谷歌公司 透明硬件辅助存储器解压缩
CN107250991B (zh) * 2015-02-13 2020-08-28 谷歌有限责任公司 透明硬件辅助存储器解压缩
CN107003907A (zh) * 2016-01-26 2017-08-01 华为技术有限公司 一种数据处理方法以及数据处理设备
US11061857B2 (en) 2016-01-26 2021-07-13 Huawei Technologies, Co., Ltd. Data processing method and device
CN109254954A (zh) * 2018-09-13 2019-01-22 政采云有限公司 文件处理方法和装置、计算设备及存储介质
CN109254954B (zh) * 2018-09-13 2020-06-09 政采云有限公司 文件处理方法和装置、计算设备及存储介质

Also Published As

Publication number Publication date
EP2746953A1 (en) 2014-06-25
US9471584B2 (en) 2016-10-18
WO2012113206A1 (zh) 2012-08-30
US20130212077A1 (en) 2013-08-15
EP2746953A4 (en) 2014-08-20
CN102792296B (zh) 2016-10-26

Similar Documents

Publication Publication Date Title
US11748258B2 (en) Method for managing a memory apparatus
CN109426619B (zh) 访问快闪存储器模块的方法及相关闪存控制器与电子装置
US10915475B2 (en) Methods and apparatus for variable size logical page management based on hot and cold data
KR101739213B1 (ko) 압축되고 컴팩트화된 가상 메모리를 위한 방법 및 장치
CN101526923B (zh) 一种数据处理方法、装置和闪存存储系统
KR100745532B1 (ko) 압축률에 기반한 압축 메인 메모리 사용을 위한 시스템 및방법
CN101777061B (zh) 一种java卡对象管理方法及java卡
CN102855193A (zh) 非易失性存储系统中未使用的逻辑地址的挂载时去映射
US10019398B2 (en) System with solid state drive and control method thereof
US20070005625A1 (en) Storage architecture for embedded systems
US9569381B2 (en) Scheduler for memory
KR20130096881A (ko) 플래시 메모리 장치
US20140365785A1 (en) Migration of encrypted data for data storage systems
JP2014170360A (ja) 計算機及びメモリ管理方法
KR20190052366A (ko) 컨트롤러 및 컨트롤러의 동작방법
CN102792296A (zh) 移动终端中请求页面调度方法、控制器以及移动终端
EP3278229B1 (en) Compressed pages having data and compression metadata
CN107122312B (zh) 一种固态盘地址映射方法
KR20210076856A (ko) 부팅 가능한 키 값 장치
CN117215968A (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
TR01 Transfer of patent right

Effective date of registration: 20190314

Address after: 101399 Building 8-07, Ronghui Garden 6, Shunyi Airport Economic Core Area, Beijing

Patentee after: Xin Xin finance leasing (Beijing) Co.,Ltd.

Address before: 201203 Shanghai city Zuchongzhi road Pudong Zhangjiang hi tech park, Spreadtrum Center Building 1, Lane 2288

Patentee before: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

TR01 Transfer of patent right
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20121121

Assignee: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

Assignor: Xin Xin finance leasing (Beijing) Co.,Ltd.

Contract record no.: X2021110000008

Denomination of invention: Mobile terminal page scheduling method and mobile terminal page scheduling method

Granted publication date: 20161026

License type: Exclusive License

Record date: 20210317

EE01 Entry into force of recordation of patent licensing contract
TR01 Transfer of patent right

Effective date of registration: 20221018

Address after: 201203 Shanghai city Zuchongzhi road Pudong New Area Zhangjiang hi tech park, Spreadtrum Center Building 1, Lane 2288

Patentee after: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

Address before: 101399 Building 8-07, Ronghui Garden 6, Shunyi Airport Economic Core Area, Beijing

Patentee before: Xin Xin finance leasing (Beijing) Co.,Ltd.

TR01 Transfer of patent right