用于改进计算设备的启动的方法

文档序号:6496549阅读:128来源:国知局
用于改进计算设备的启动的方法
【专利摘要】公开了一种用于计算设备的非易失性数字数据存储优化的方法。首先生成包括计算机可执行指令的源物理数据布局。然后执行具有源物理数据布局的计算设备的启动测试,并且记录对非易失性存储器的存储块的访问序列。然后通过根据记录的序列组织源物理数据布局的数据,获得最终物理数据布局。然后生成将源物理数据布局的存储块映射到最终物理数据布局的存储块的映射表。该映射表被存储在非易失性存储器单元中,使得计算设备能够通过检索由映射表定义物理位置的数据块中的数据,执行最终物理数据布局的计算机可执行指令。
【专利说明】用于改进计算设备的启动的方法
【技术领域】
[0001]本发明涉及计算设备的领域,尤其涉及视频装置(例如机顶盒)的领域。
[0002]本发明尤其涉及用于启动这样的计算设备的方法,特别是根据权利要求1的前序部分的方法。
【背景技术】
[0003]当接通计算设备时,需要一些时间来完成启动,即用于操作系统从存储器中获取并执行视频装置操作所必需的所有驱动、中间件和应用。
[0004]因此,启动时间与计算设备的复杂性和功能严格相关。请求计算设备完成的功能越多,在启动期间必须执行的驱动和应用越多。
[0005]对于启动时间特别敏感的特定类型的计算设备是视频装置。
[0006]如今,已知视频装置(如机顶盒和一般视频装置)能够基于经由不同源(有线、卫星、因特网或本地网络(IPTV)、USB端口等)接收到的数据而输出视频流。因此,这样的设备需要多个驱动,以允许CPU(中央处理单元)与硬件进行通信。
[0007]随着源的数量增加,管理数据和视频流所需的应用的大小和数量也在增加。
[0008]结果,用于完成启动的时间越来越长并且使用户烦恼。
[0009]为了避免这个问题,一旦用户结束视频装置的操作,视频装置通常被置于待机模式,而不是被完全断开。通过这种方式从待机模式恢复不需要太多的时间。
[0010]然而,视频装置在待机模式期间确实消耗能量,因此被提供以避免用户被该漫长的启动时间惹恼的解决方案具有耗能的缺点。
[0011]为了改进计算设备的操作,已知优化硬盘驱动器上的数据存储。美国专利US6, 202,121公开了一种用于改进程序启动时间的系统和方法,其中安装盘包括加载序列列表,该加载序列列表指示在启动期间读取文件的各个部分的顺序。在安装过程期间,安装程序从加载序列列表读取数据并写入文件部分,所以文件部分按照由加载序列列表规定的顺序存储在硬盘驱动器上的连续簇中。然后计算机可以按照适当的顺序从连续盘簇中读取来自盘的启动相关的数据,如果盘磁头必须在非连续的簇之间移动以便读取启动相关的数据,这最小化或消除将由盘访问导致的时间浪费。
[0012]尽管有用,但US6,202,121提供的解决方案应用于应用程序的安装,因此依赖于文件系统,即安装程序从序列列表中读取应安装的顺序文件,但是是文件系统将组织程序文件并将程序文件存储在硬盘驱动器中。应使用特定的解决方案来处理在计算设备上运行的特定的操作系统和文件系统。此外,程序启动时间没有被完全优化,因为根据US6, 202,121,文件存储在连续簇中,但程序的启动可能仅需要执行部分文件。因此,当程序启动时,寻找要加载的下一个文件会浪费时间。
[0013]为了改进计算设备(特别是计算机)的启动,已知解决方案大多是基于加载在之前的启动过程中创建并保存在硬盘驱动器中的休眠(hibernation)图像。这些解决方案对于计算设备的第一启动不起作用,并且一般不提供计算设备中的数据存储优化,因此这些解决方案遭受由于数据优化导致的启动延迟。
[0014]因此,存在对提供良好的性能和功能性而不需要漫长启动时间的计算设备、特别是视频装置的需求。
[0015]特别地,存在对用于改进计算设备的启动的数据存储优化的方法的需求。

【发明内容】

[0016]因此,本发明的一个目的是提供一种计算设备,特别是一种视频装置,其提供良好的性能而不需要漫长启动时间。
[0017]本发明的这个目的与其它目的通过用于计算设备中的数据存储优化的方法来实现,该方法包括所附的权利要求的特征,其旨在形成本说明书的组成部分。
[0018]特别是,这些目的经由用于计算设备的非易失性数字数据存储优化的方法来实现,该方法包括步骤:获得要在计算设备的启动期间请求的计算机可执行指令,并且计算机可执行指令根据最终物理数据布局存储在非易失性数字存储设备中。根据该方法,根据以下步骤生成最终物理数据布局:
[0019]生成源物理数据布局,源物理数据布局包括与源物理数据布局不同的最终物理数据布局的相同计算机可执行指令;
[0020]生成用于执行计算机可执行指令的源映射表,所述源映射表将源物理数据布局的非易失性数字存储设备存储块映射到最终物理数据布局的存储块,
[0021]将源映射表设置成在源物理数据布局的存储块和最终物理数据布局的存储块之间的默认对应关系,
[0022]执行具有源物理数据布局的计算设备的启动测试,
[0023]在启动测试期间将计算设备的访问序列记录到非易失性数字存储设备的存储块,
[0024]通过根据在启动测试期间记录的序列组织源物理数据布局的数据,生成最终物理数据布局;
[0025]为了执行根据最终物理数据布局组织的计算机可执行指令,通过更新源映射表生成最终映射表,使得最终映射表将源物理数据布局的存储块映射到最终物理数据布局的存储块,并且将最终映射表存储在非易失性存储器单元中,所述非易失性存储器单元在计算设备的启动期间能被访问。
[0026]通过这种方式,由于在启动期间从文件系统顺序地读取数据,于是为计算设备提供允许更快启动的最终文件系统。
[0027]特别地,映射表的提供允许数据存储优化而无需软件设计人员创建专用的操作系统。
[0028]本发明人已经发现,这种数据存储优化方法的确很好地应用于其中启动可能使观看者非常烦恼的视频装置。
[0029]发明人已发现,必须在制造时间期间存储在视频装置中的最终文件系统可通过首先生成测试文件系统来生成,测试文件系统包括将测试文件系统的存储块映射在最终文件系统的存储块上的映射表。首先将映射表设置为测试文件系统的存储块与最终文件系统的存储块之间的一对一对应关系。此后,接通视频装置并执行具有测试文件系统的视频装置的启动测试。[0030]在启动测试期间记录对测试文件系统的存储块的访问序列。
[0031]然后通过更新映射表使得映射表将测试文件系统的存储块映射在最终文件系统的存储块上、并且根据启动测试期间记录的序列组织测试文件系统的数据,生成最终文件系统。
[0032]通过这种方式,由于在启动期间从文件系统顺序地读取数据,所以向最终制造的视频装置提供允许更快启动的最终文件系统。
[0033]特别地,映射表的提供允许快速启动视频装置的制造而无需软件设计人员创建专用的操作系统。
[0034]本发明还涉及一种计算设备,特别是一种视频装置,包括根据上述方法生成的计算机可读指令。
[0035]一方面,本发明涉及一种包括程序代码装置的计算机程序,所述程序代码装置用于当所述程序在计算机上运行时执行根据下面说明书和权利要求书的教导的该方法的所有步骤。
[0036]另一方面,本发明涉及一种存储计算机可执行指令的计算机可读介质,所述计算机可执行指令当在计算机上运行时执行根据下面说明书和权利要求书的教导的计算机实现的方法的所有步骤。
【专利附图】

【附图说明】
[0037]在借助所附附图的帮助而被描述为非限制性示例的根据本发明的编码方法和解码方法、以及相关系统的优选的非排他性实施例的详细描述中,本发明的其它特征和优点将变得明显,其中:
[0038]-图1示意性地表示根据本发明的视频装置;
[0039]-图2示意性地表示图1的视频装置的非易失性存储设备,
[0040]-图3A和图3B表示图1的视频装置的映射表,
[0041]-图4是用于制造根据本发明的一个实施例的视频装置的方法的流程图,
[0042]这些图图示了本发明的不同方面和实施例,并且在适当的情况下,不同附图中类似的结构、组件、材料和/或元件通过相同的附图标记来表示。
【具体实施方式】
[0043]尽管本发明容易采用各种修改和替代结构,但是本发明的某些说明性的实施例已经在附图中示出并将在下面详细描述。然而,应当理解的是,不是旨在将本发明限制为所公开的特定形式,而是与此相反,本发明将覆盖落入如权利要求中限定的本发明的精神和范围内的所有修改、替代构造和等同物。
[0044]在下面的说明和附图中,用相同的附图标记标识相同的元件。使用“如”、“等”、和“或”表示无限制的非排他性替代方案,除非另有说明。使用“包括”意味着“包括,但不限于”,除非另有说明。
[0045]使用“存储块”意味着可被分配以保持给定文件系统中的文件的最小量的盘或存储器空间。存储块可以包括固定量的扇区,扇区是数据存储设备能够物理读取或写入的最小单个单元,一般为512字节或倍数。[0046]图1示意性地图示视频装置100,尤其是机顶盒,其包括控制视频装置的操作的控制单元101。在优选实施例中,控制单元101是片上系统(SoC),即包括至少一个微控制器和一个或多个DSP (数字信号处理器)的集成电路(芯片)。
[0047]视频装置100还包括存储设备102和主存储器103,优选地包括随机存取存储器芯片或RAM。在优选实施例中,存储设备102是硬盘驱动器(HDD),但是在另一个实施例中,存储设备可以是固态器件(SSD),例如包括多个NAND存储器的设备,或适于存储数据的任何其它类型的设备。
[0048]在图1的实施例中,块104表不一组输入/输出端口,视频装置通过该组输入/输出端口接收编码的视频流,并输出不同的视频流。例如,在一个实施例中,视频装置100是与电视机结合使用的机顶盒;因此I / O端口 104包括用于经由天线接收视频流和数据的接收器、以及输出针对电视机的视频流的输出视频端口(例如,HDMI端口或SCART端口)。更一般地,I / O端口可以包含用于与外部设备(例如USB端口、以太网端口或红外接收器)通信的任何端口。
[0049]当电力被接通时,启动视频装置100,即开始如下过程:执行一组操作直至视频装置100准备好使用。
[0050]在启动期间,控制单元101执行通常存储在控制单元固件中的机器代码软件(被称为引导程序)。引导程序寻找存储设备102中的操作系统(OS),并将操作系统(OS)复制到主存储器103中,以便控制单元101可以直接访问操作系统(OS)。顺序地进行从存储设备102到主存储器103的数据的拷贝,使得在复制完成后,根据存储设备102中的存储块的相同顺序组织主存储器103的存储块中的数据。
[0051]通过非限制性示例的方式,根据图2中示出的给定的数据布局,启动期间所需的操作系统和其他数据构成一组存储在存储设备102中的计算机可执行指令。
[0052]在这个示例中,存储设备102包括存储对应于OS内核的数据的第一组存储块(1031)、以及存储文件系统的第二组存储块(1032)。
[0053]在图2的实施例中,仅将存储文件系统的数据的存储块展开并表示为B1、B2...BN。
[0054]众所周知,文件系统是用于组织视频装置上的文件的目录的层次结构。文件系统的确切内容根据视频装置而不同,但是一般来说,它包括启动系统所必需的文件,如驱动、中间件和应用。
[0055]在启动期间,控制单元101执行OS,因此将不时地访问存储在该组存储块1032中的驱动和应用,并且其中存储的指令将被复制到主存储器103中并被执行。
[0056]对文件系统的存储块的访问顺序取决于OS结构和在视频装置的设计期间做出的OS配置。
[0057]结果,在现有技术中,视频装置在启动OS期间以软件设计人员无法预见的方式访问不同的存储块;例如,OS可以首先请求存储在块BI中的驱动,然后请求存储在块B4中的第二驱动,然后请求存储在块B2和B3中的应用。
[0058]从给定的块中检索数据需要时间来寻找存储设备中的块。
[0059]为了减少启动时间,发明人已想到实施这里在下面参照图4描述的制造方法。
[0060]首先(步骤400)在视频装置的设计期间配置OS,并通过市场上已知的软件本身(例如用于Linux的文件系统SquashFS?)创建测试文件系统,特别是根(root)文件系
统。通过这种方式,获得在视频装置启动期间所请求的一组计算机可执行指令。
[0061]在这个阶段中,生成与存储设备102通信的系统驱动(在下面的存储设备驱动中)(步骤401)。存储设备驱动对于执行存储在存储设备中的计算机可执行指令是必要的,并且存储设备驱动包括映射表300 (图3A中所示),该映射表300映射分配给测试文件系统的存储块与将分配给这里在下面将描述的最终文件系统的存储块。
[0062]在一个实施例中,通过修改由硬件制造商提供的现有驱动获得存储设备驱动的生成。
[0063]OS使用映射表300来检索给定物理数据块中的数据;在视频装置的此设计阶段,设置映射表(步骤402),以便具有分配给测试文件系统的块与分配给新文件系统的存储块之间的一对一对应关系,如图3A所示。通过这种方式,如果不作任何修改地在视频装置上启动具有测试文件系统的OS,则OS将使用该映射表来检索数据,并且OS将发现数据,因为数据在源和最终数据布局中的位置是相同的。
[0064]因此,这样产生的OS和驱动将包括在计算设备的启动期间所请求的计算机可执行指令。这些计算机可执行指令被组织到在视频装置的启动期间所请求的文件中。这些指令被存储在可操作地连接到计算设备的非易失性数字存储设备中,使得可以通过计算设备从非易失性数字存储设备检索数据。因此,在上述实施例中,计算机可执行指令根据源物理数据布局存储在非易失性数字存储设备102上。而在下面的说明中,数字存储设备102包括在视频装置中,很显然对本领域技术人员来说,这种设备可以在视频装置的外部,或者,在启动期间所请求的该文件可以存储在从视频装置可访问的外部设备中。
[0065]一旦完成视频装置的最终配置,视频装置经历(步骤403)启动测试,由此,视频装置被接通,并且OS开始模拟启动阶段。
[0066]如上面已经解释的,在启动期间,从存储设备102复制OS到易失性主存储器103中,并且由于映射表的设置,可以执行启动。
[0067]计算机软件监视(步骤404)在该启动测试期间对存储设备102的访问,并记录对分配给测试文件系统的存储块的访问序列。
[0068]然后生成最终文件系统(步骤405和406)。
[0069]新文件系统的生成需要两个动作:
[0070]-对测试文件系统的数据进行重排序,
[0071]-更新映射表300。
[0072]详细地说,映射表300被更新,以便将测试文件系统的存储块映射在最终文件系统的存储块、即根据在启动测试期间根据记录的访问序列重组的存储块上。
[0073]然后混合具有更新的存储器表的存储设备驱动和第一文件系统的其它文件,以便生成最终文件系统,其中,根据最终物理数据布局来组织具有更新的存储器表的存储设备驱动和第一文件系统的其它文件,最终物理数据布局包含更新的映射表以及源物理数据布局的相同的计算机可执行指令。特别地,在视频装置的启动期间请求的新文件系统的数据被组织在预期由OS在启动期间顺序读取的存储块中。
[0074]例如,假设在步骤404中,已经记录了 OS请求存储在块B4中的测试文件系统的第一数据,然后请求存储在块BI中的数据,然后请求存储在块B2中的数据,并且最后请求存储在块B3中的数据。因此,新文件系统将包含第一存储块,该第一存储块包令存储在测试文件系统的存储块B4中的数据,然后是存储在测试文件系统的存储块BI中的数据,然后是测试文件系统的存储块B2的数据,并且最后是测试文件系统的存储块B3的数据。
[0075]换句话说,除了针对更新的存储设备驱动所进行的,最终文件系统包括第一文件系统的相同数据,然而旧文件系统的数据被重组,以便它们将被顺序地读取,因此减少了启动时间。
[0076]最后,在步骤407,制造视频装置,并且将具有最终文件系统的操作系统存储到视频装置的存储设备中。
[0077]显然从上面的说明中,通过如上所述的过程获得的视频装置实现了本申请的目标。
[0078]将改进具有最终数据布局的设备的启动而无需修改OS文件系统(文件系统独立性),因此这可以由软件工程师以通常的方式来编程。因为以顺序方式读取数据块,所以物理数据布局的重组允许更快的启动,然而没有适当的映射表,最终文件系统的OS将无法启动,因为它会在错误的地址寻找数据和文件。实际上,最终映射表不仅对于以正确的方式存储文件是必需的,而且它对于OS工作也是必需的。
[0079]映射表300将给定数据块的源物理地址映射到给定数据块的目的地(最终)物理地址。例如,如果在地址00001存储了一些数据并且在启动期间的初期不需要这个块的数据,则在最终数据布局中,它将被存储在不同的地址中,例如存储在地址00100中。由于仅在物理层而不是逻辑层进行数据重排序的事实,数据中存在的对数据的其他块的引用仍将指向原始位置。因此,例如,如果运行的OS将参考块00001,则由于映射表,响应于OS请求将读取并提供在地址00100的数据。
[0080]同样清楚的是,通过理解如上所述的以及从所附的权利要求中得到的本发明,本领域技术人员可以参照本发明的特定示例性实施例而采用上述方法和产品的多个变型。
[0081]例如,在一个实施例中,操作系统可被加载到固态驱动器,因此直接被初始化而无需从存储设备复制到RAM存储器。
[0082]虽然在上述实施例中,将映射表存储在存储视频装置启动期间所请求的其它计算机可执行指令的同一存储设备中,但明显的是,该映射表可以存储在另一非易失性存储设备中,并且可以修改上述存储设备驱动以访问存储在不同的设备中的映射表。
[0083]尽管已经参考视频装置以及视频装置的制造公开了上述实施例,但明显的是,可以将数据存储优化的相同教导应用于任何计算设备,以便加速相同的启动。
[0084]本领域技术人员可以很容易地认识到,可以通过一个或多个计算机程序来执行和/或控制用于数据存储优化的前述方法或部分方法。通常通过使用计算设备(如个人计算机、个人数字助理、蜂窝电话、数字电视的接收器和解码器等)中的计算资源来执行这样的计算机程序。应用存储在非易失性存储器(例如闪速存储器)或易失性存储器(例如RAM)中,并且由处理器执行。这些存储器是示例性的记录介质,用于存储包括根据上面给出的技术构思执行计算机实现的方法的所有步骤的计算机可执行指令的计算机程序。
【权利要求】
1.一种用于计算设备的非易失性数字数据存储优化的方法,包括步骤: 获得要在计算设备的启动期间请求的计算机可执行指令, 将计算机可执行指令存储在非易失性数字存储设备上,以便获得最终物理数据布局, 该方法的特征在于:根据以下步骤生成最终物理数据布局: 生成源物理数据布局,源物理数据布局包括与源物理数据布局不同的最终物理数据布局的相同计算机可执行指令; 生成用于执行计算机可执行指令的源映射表,所述源映射表将源物理数据布局的非易失性数字存储设备存储块映射到最终物理数据布局的存储块, 将源映射表设置成在源物理数据布局的存储块和最终物理数据布局的存储块之间的默认对应关系, 执行具有源物理数据布局的计算设备的启动测试, 在启动测试期间将计算设备的访问序列记录到非易失性数字存储设备的存储块, 通过根据在启动测试期间记录的序列组织源物理数据布局的数据,生成最终物理数据布局; 以及该方法的特征在于:通过更新源映射表生成最终映射表,使得最终映射表将源物理数据布局的存储块映射到最终物理数据布局的存储块,并且将最终映射表存储在非易失性存储器单元中,所述非易失性存储器单元在计算设备的启动期间能被访问。
2.根据权利要求1的方法,其中所述源物理数据布局是在计算设备的设计阶段期间生成的,并且其中所述最终物理数据布局在计算设备的制造期间被存储在计算设备中。
3.根据权利要求2的方法,其中所述最终物理数据布局是在所述设计阶段期间生成的。
4.一种计算机程序,包括用于当在计算机上运行所述程序时执行如权利要求1至3中任一项所要求保护的方法的所有步骤的程序代码装置。
5.一种存储计算机可执行指令的计算机可读介质,所述指令当在计算机上运行时执行根据权利要求1至3中任一项的计算机实现的方法的所有步骤。
6.一种计算设备,包括: 存储设备(102),存储要在计算设备的启动期间请求的计算机可执行指令,并且所述存储设备(102)根据最终数据布局而被组织, 控制单元(101),适于执行所述计算机可执行指令, 所述计算设备的特征在于:所述计算机可执行指令适于使用映射表而被执行,映射表将最终物理数据布局的存储块映射到源物理数据布局的存储块,所述源物理数据布局与所述最终数据布局不同并且包括最终物理数据布局的相同计算机可执行指令。
7.根据权利要求6的计算设备,其中所述计算机可执行指令包括存储设备驱动,该存储设备驱动请求存储在第二非易失性存储设备中的映射表的数据。
8.根据权利要求6或7的计算设备,其中所述设备是视频装置。
【文档编号】G06F9/44GK103842962SQ201280046022
【公开日】2014年6月4日 申请日期:2012年8月6日 优先权日:2011年8月8日
【发明者】A·戈尔德 申请人:先进数字广播股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1