一种用于支持执行引导进程的设备及方法与流程

文档序号:17286320发布日期:2019-04-03 03:35阅读:147来源:国知局
一种用于支持执行引导进程的设备及方法与流程

本发明涉及一种用于支持执行引导进程的设备及方法。此外,本发明还涉及一种相应设置的计算机程序产品和相应设置的计算机可读介质。



背景技术:

很多设备是由诸如计算机或计算机辅助设备等计算机化系统进行执行及控制的。如果打开或启动设备,则也启动对应的计算机化系统,即执行引导进程。为此,如果需要,则对该系统及该系统中运行的程序进行初始化。特别地,引导进程包括识别硬件和/或软件组件、验证这些组件的可用性及功能以及控制所述组件,从而可以在引导进程后对其进行操作。例如,引导进程也包括执行主引导记录(masterbootrecord,简称mbr)、加载操作系统(operatingsystem,简称os)内核、加载驱动器和/或开始执行业务/后台程序和/或应用程序。执行引导进程之后,意味着该设备已经做好了按照预期用途被使用的准备。从设备开始启动,直到其完全起作用这一时间是非常重要的。特别地,由于启动之后的设备要尽快用于其预期用途,因此该时间应该越短越好。

在引导进程中,将输入/输出(input/output,简称i/o)请求下发至存储设备,以获得用于将该设备置于引导设备预期用途的状态的数据块。该存储设备以非统一的方式和/或按需进行对应的读取,且需要花费一段时间对对应的i/o请求进行下发。进一步地,i/o请求所请求的数据块在该存储设备的位置是随机的,并且需要花费时间去探测所请求的数据块。因此,需要花费时间去接收所请求的数据,这是执行引导进程所必需的。

为了加快该引导进程,该包括被请求数据块的存储设备通常包括一些基于高速介质(例如,固态硬盘(solidstatedrive,简称ssd))或动态随机存取存储器(dynamicrandomaccessmemory,简称dram)的有限缓存,从而加速处理i/o请求。通常,采用该缓存将邻近数据块的数据块置于或写入该缓存中,从而实现更快的存取。其中,该邻近的数据块为从用于执行引导进程的存储设备中最后读取的。该缓存的使用原理也称为“参考局部性”原理,是基于假设引导进程执行所请求的数据块是位于存储设备的同一区域的。

尽管引导进程中用于存储设备存取以及缓存用途的各种实现方式已经得以实现,但是计算机化系统的逐渐复杂以及设备启动后的期望的提示操作状态进一步改进了用于提供快速执行引导进程所请求的数据块的方法。

因此,需要更多支持快速有效执行引导进程的方法。特别地,需要一种能够快速提供引导进程执行所请求的数据块的方法。因此,在该设备启动之后,将各个设备设置为用于其预期用途的状态。



技术实现要素:

本发明的目的在于提供一种方法和设备,以便更好地提供执行引导进程所请求的数据块。

本发明提供一种方法和设备,其用于支持执行引导进程以及至少克服上述弊端。特别地,对该方法及设备进行设置,使得其加快提供行引导进程所请求的数据块。这样一来,也加快了该引导进程本身。因此,更快地将引导的设备置于引导设备预期用途的状态。

特别地,正如权利要求详细说明以及这里参考附图所述的,一方面,本发明监控引导进程中存储设备所请求的数据块以及相应地存储这一信息。另一方面,本发明采用下一引导进程中被请求数据块上所存储的信息加速执行该引导进程。这样一来,可以快速有效地执行引导进程。进一步地,本发明确保在设备启动之后可以快速轻易地将设备置于用于其预期用途的状态。

通过所述独立权利要求中所提供的解决方案,实现了本发明的目标。在单独的从属权利要求中对本发明的有益实现进行了进一步描述。

根据第一方面,提供了一种用于支持执行引导进程的设备,其中,所述设备包括包括至少一个以下单元:被请求数据块处理单元,其中,所述被请求数据块处理单元用于在所述引导进程中生成被请求数据块集,其中,所述被请求数据块集的每个条目包括所述引导进程中被所述存储设备所请求的数据块上的信息;预取单元,其中,所述预取单元用于在所述引导进程中针对数据块集的每个条目,从所述存储设备预取数据块,被预取的数据块上的信息存储在所述数据块集的条目中,其中,所述被请求数据块集的每个条目包括之前执行的引导进程中所述被所述存储设备所请求的数据块上的信息。

这样一来,为了执行当前引导进程,仅仅预取了正如在之前引导进程中执行引导进程所需监控的数据块。这里的术语“预取”具有普通含义,指的是将存储设备或存储器的内容加载或存储到存储设备或存储器层次的更高一级。该存储设备或存储器层次的更高一级允许更快的存取速度。换句话说,将数据块加载或存储到支持更快存取数据块的另一存储器。

另外,每次执行引导进程时,进行执行引导进程所请求的数据块监控,并且相应地生成被请求数据块。这样一来,可以对发生在该设备中或关于该设备的第一和第二引导进程之间的改变做出更好的反应。例如,如果已经增加了新的硬件和/或软件组件,则在执行第一和第二引导进程中,现有的硬件和/或软件组件会发生改变和/或删除现有的硬件和/或软件组件,并且针对所述改变,即,通过下发新的或修改过的数据块请求和/或通过重新下发一些之前被请求数据块的请求,执行该第二引导进程。在该第二引导进程中,重新生成被请求数据块集,并且在该第二引导进程之后的引导进程中,将第二引导进程中生成的被请求数据块集作为用于预取的数据块集。因此,由于将当前引导进程中生成的被请求数据块集作为用于在后续引导进程中预取的数据块集,所以要不断地将可引导设备的改变考虑在内。反之亦然,用于在当前引导进程中预取的数据块集为之前执行的引导进程中,即在当前引导进程之前已经执行了的引导进程中,生成的被请求数据块集。

此外,鉴于执行引导进程所需的更可靠的数据块预取,可以加快该引导进程。可以降低执行预取的错误数据块的数量。

在第一方面的第一种可能的实现方式中,所述引导进程中被所述存储设备所请求的数据块上的所述信息包括所述存储设备中所述数据块的地址以及所述数据块的大小;和/或所述之前执行的引导进程中被所述存储设备所请求的数据块上的所述信息包括所述存储设备中所述数据块的地址以及所述数据块的大小。这样一来,只存储了少量数据块上的信息而非整个数据块。因此,该集,即被请求数据块集以及数据块集的尺寸很小。这样一来,可以快速地处理该集。因此,处理该集并不影响该引导进程的性能。

根据第一方面的第一种实现方式,在第一方面的第二种可能的实现方式中,所述预取单元用于通过采用所述数据块集中每个条目中的所述数据块上的信息从所述存储设备检索数据块以及通过将所述数据块存储到另一存储设备中,执行所述预取,其中,所述另一存储设备用于允许相比较所述存储设备更快地存取所述数据块。因此,引导该引导进程,从而快速存取执行引导进程所需的所有或几乎所有的数据块。

根据第一方面或上述第一方面的任一实现方式,在第一方面的第三种可能的实现方式中,所述被请求数据块处理单元用于在所述引导进程中监控请求所述存储设备的数据块的数据块请求。所述监控使得可以检测引导进程所需的所有或几乎所有的数据块。因此,所述被请求数据块处理单元生成精确集或被请求数据块,从而可以在后续引导进程中更精确地提供引导进程实际要求的数据块。当对于引导了的设备已经引进了上述改变时,这便尤其重要。

根据第一方面或上述第一方面的任一实现方式,在第一方面的第四种可能的实现方式中,所述被请求数据块处理单元用于在所述引导进程中采集所述引导进程中所述被所述存储设备所请求的数据块上的信息。这样一来,可以确保采集执行引导进程所需的所有数据块的信息。因此,可以在后续引导进程中更精确地提供引导进程实际要求的数据块。

根据上述第一方面或第一方面的任一实现方式,在第一方面的第五种可能的实现方式中,所述被请求数据块处理单元用于指示存储所述存储设备中的所述被请求数据块集。这样一来,避免了执行引导进程被请求数据块上的信息丢失问题。

根据第一方面或上述第一方面的任一实现方式,在第一方面的第六种可能的实现方式中,所述预取单元用于在所述引导进程中检索和/或存取所述存储设备的数据块集。

根据第一方面或上述第一方面的任一实现方式,在第一方面的第七种可能的实现方式中,所述设备为存储设备、虚拟机监视器或其他任意用于处理数据的数据处理设备。

根据第二方面,提供了一种用于支持执行引导进程的方法,其中,所述方法包括至少一个以下步骤:在所述引导进程中生成被请求数据块集,其中,所述被请求数据块集的每个条目包括所述引导进程中被所述存储设备所请求的数据块上的信息;在所述引导进程中针对数据块集的每个条目,从所述存储设备预取数据块,被预取的数据块上的信息存储在所述数据块集的条目中,其中,所述被请求数据块集的每个条目包括之前执行的引导进程中所述被所述存储设备所请求的数据块上的信息。通常,正如上所述以及下面所详细描述的,该方法的步骤与用于支持执行引导进程的设备所执行的步骤或活动相对应。

根据第三方面,本发明涉及一种包括计算机可读程序代码的计算机程序产品,其中所述计算机可读程序代码用于使计算设备执行上文介绍的并且在下文详细解释的方法的步骤。

根据第四方面,本发明涉及一种用于在其中存储计算机程序产品的计算机可读记录介质。

附图说明

结合所附附图,下面具体实施例的描述将阐述上述本发明的各方面及其实现形式,其中:

图1a和图1b示出了本发明实施例提供的用于支持执行引导进程的设备的示例性设置。

图2示出了本发明实施例提供的用于支持执行引导进程的方法的步骤。

图3示出了本发明实施例提供的被请求数据块集以及数据块集的设置。

图4a示出了本发明实施例提供的被请求数据块集的条目的示例性设置。

图4b示出了本发明实施例提供的数据块集的条目的示例性设置。

图5示出了本发明实施例提供的被请求数据块集生成步骤的子步骤的流程图。

图6示出了本发明实施例提供的预取步骤的子步骤的流程图。

具体实施方式

通常需要注意的是本申请中描述的所有设置、设备、模块、组件、模型、元件、单元、实体以及方法等都可以由软件或硬件元件或其任意组合实现。由本申请中描述的各种实体执行的所有步骤以及描述为由各种实体执行的功能旨在表示不同的实体用于执行不同的步骤和功能。虽然在以下具体实施例的描述中,由通用实体执行的特定功能或步骤没有在执行特定步骤或功能的实体的具体元件的描述中反映,但是技术人员应该清楚的是这些方法和功能可以在各自的硬件或软件元件或其任意组合中实现。此外,本发明的方法及其各个步骤在各个描述的装置元件的功能中体现。此外,除非有明确排除的组合,本文所描述的任意实施例以及任意实施例的特征都可以互相组合。

图1a和图1b示出了本发明实施例提供的用于支持执行引导进程的设备110、120、130的示例性设置。在图1a的实施例中,该设备110包括被请求数据块处理单元111和预取单元112。如上所述,该被请求数据块处理单元111用于在引导进程中生成被请求数据块集,其中,被请求数据块集的每个条目包括所述引导进程中被所述存储设备所请求的数据块上的信息。而该预取单元112用于在所述引导进程中针对数据块集的每个条目,从所述存储设备预取数据块,被预取的数据块上的信息存储在所述数据块集的条目中,其中,所述被请求数据块集的每个条目包括之前执行的引导进程中所述被所述存储设备所请求的数据块上的信息。因此,被请求数据块处理单元111和预取单元112这两个组件在引导处理过程中均是激活的。被请求数据块处理单元111负责采集用于引导执行的引导进程中,存储设备所请求的数据块上的数据,即,响应上述i/o请求。预取单元112负责采用之前引导进程中所采集的数据块上的数据,来快速访问执行引导进程所请求的数据块。

因此,被请求数据块处理单元111在当前引导进程中生成的被被请求数据块集,将在下一个引导进程被预取单元112作为预取数据块的数据块集。

由于引导的设备上运行的计算化系统可能因为新软件和/或硬件的安装、现有软件和/或硬件的改变/更新和/或现有软件和/或硬件的删除等而改变,所以在所述改变之后执行的引导进程也会改变。可引导设备上运行的计算机化系统以及操作和控制所述可引导设备的计算机化系统的改变会导致引导进程的改变。鉴于这些改变,该引导进程要求不再执行新的或额外的数据块请求(例如,i/o请求)以及一些之前执行的数据块请求。所提供的两个组件确保了后续每个引导进程都能够处理可引导设备的计算机化系统的改变,并且确保引导进程的执行效率得以维持。其中,一个组件(即,被请求数据块处理单元111)用于采集和监控执行引导进程所需的当前数据块,另一个组件(即,预取单元112)用于从已生成的数据块集(在之前的引导进程中生成)中预取数据块。

本发明可以以不同的方式提供用于支持执行被请求数据块处理单元111和预取单元112引导进程的设备110、120、130的设置。在图1a的实施例中,用于支持执行引导进程的设备110包括被请求数据块处理单元111和预取单元112。在图1b的实施例中,被请求数据块处理单元111和预取单元112为用于支持执行引导进程的两个不同设备120、130的一部分。被请求数据块处理单元111位于用于支持执行引导进程的第一设备120,预取单元112位于用于支持执行引导进程的第二设备。

图2示出了本发明实施例提供的用于支持执行引导进程的方法的大体步骤。在本实施例中,在步骤201中,在引导进程中生成被请求数据块集,其中,被请求数据块集的每个条目包括所述引导进程中被存储设备请求的数据块上的信息。在步骤202中,在引导进程中针对数据块集的每个条目,从所述存储设备预取数据块,被预取的数据块上的信息存储在所述数据块集的条目中,其中,所述被请求数据块集的每个条目包括之前执行的引导进程中所述被所述存储设备所请求的数据块上的信息。

鉴于图1a和图1b的实施例,步骤201由用于支持执行引导进程的设备110、120所执行,特别地,步骤201由被请求数据块处理单元111所执行。步骤202由用于支持执行引导进程的设备110、130所执行,特别地,步骤202由预取单元112所执行。

在引导进程中步骤201和步骤202相互独立执行。在第一次执行本发明方法时,由于当前没有步骤202中可以采用的,即预取单元202可以采用的数据块集,所以可以只执行步骤201,即只激活被请求数据块处理单元111。

只有执行步骤201,即操作被请求数据块处理单元111之后,才会呈现数据块。步骤201中生成的,即被请求数据块处理单元111生成的被请求数据块集变成后续引导进程中步骤201中采用的,即预取单元112采用的数据块集。因此,将之前生成的被请求数据块集作为预取数据块的数据块集。

图3示出了本发明实施例提供的被请求数据块集311和数据块集312的设置。在本实施例中,集311、312都存储在存储设备301中。该存储设备301可以是一个组件或者可以表征多个存储设备301。因此,被请求数据块集311和数据块集312可以存储在一个普通存储设备301中或者存储在多个(即,至少2个)不同存储单元301中。

被请求数据块处理单元111生成(201)的被请求数据块集311包括多个条目(即,至少一个条目)311-1、311-2、……、311-n。在图3中,n个条目仅仅是示例性的,其中,n≥1。每个条目311-1、311-2、……、311-n指示关于生成被请求数据块集311的引导进程中执行的一个数据块请求,例如,i/o请求。特别地,每个条目311-1、311-2、……、311-n指示引导进程中存储设备所请求的数据块。监控引导进程的执行,特别地,监控数据块请求,并且每次需要数据块时,生成对应的被请求数据块集311的新条目311-1、311-2、……、311-n并将其添加到集311。

数据块集312与被请求数据块集311对应,被请求数据块集311是之前执行的引导进程中被请求数据块处理单元111生成的。正如执行当前引导进程所要求,在之前的引导进程中观察到预取单元112采用数据块集312预取数据块。数据块集312包括多个条目(即,至少一个条目)312-1、312-2、……、312-m。在图3中,m个条目仅仅是示例性的,其中,m≥1。每个条目312-1、312-2、……、312-m指示之前引导进程中执行的假定当前引导进程也请求的一个数据块请求,例如,i/o请求。特别地,每个条目312-1、312-2、……、312-m指示假定当前引导进程也请求的数据块。在预取单元202中,将数据块集312的每个条目312-1、312-2、……、312-m考虑在内。特别地,确定条目312-1、312-2、……、312-m中包括数据块上的信息,并且确定从存储设备中获得对应的数据块并将其存储在允许快速存取数据块的另一存储设备中。另一存储设备例如可以是缓存。因此,当执行当前引导进程时,用于更快存取所述数据块的另一存储设备(例如,缓存)中已经呈现的被请求数据块集。

图4a示出了被请求数据块集311的条目311-i的示例性设置,其中,1≤i≤n。在本实施例中,条目311-i包括当前引导进程中被所述存储设备所请求的数据块上的信息。在本实施例中,所述信息包括存储设备中被请求数据块的地址401以及该数据块的尺寸402。这样一来,并非一定要将整个数据块都存储在被请求数据块集311中以及特别地,存储在其条目311-i中。因此,节省了存储设备空间。此外,在不浪费时间并因此不影响引导进程执行的前提下,可以快速存取被请求数据块集311。

这里需要说明的是,在至少一个其他实施例中,被请求数据块集311的条目311-i中存储了当前引导进程中被所述存储设备所请求的数据块上的另外和/或其他信息。图4a的实施例是被请求数据块集311的条目311-i的示例。通常,对条目311-i进行设置,使得对存储设备中的数据块进行识别。

图4b示出了本发明实施例提供的数据块集312的条目312-j的示例性设置。在本实施例中,条目312-j包括数据块上的信息,假定这个数据快是当前引导进程中被所述存储设备所请求的数据块。在本实施例中,所述信息包括存储设备中被请求数据块的地址411以及该数据块的尺寸412。这里同样地,并非一定要将整个数据块都存储在数据块集312中以及特别地,存储在其条目312-j中。因此,这里同样节省了存储设备空间。此外,在不浪费时间并因此不影响引导进程执行的前提下,可以快速存取数据块集312。

进一步地,这里也需要说明的是,在至少一个其他实施例中,数据块集312的条目312-j中存储了假定当前引导进程中被所述存储设备所请求的数据块上的另外和/或其他信息。图4b的实施例是数据块集312的条目312-j的示例。通常,对条目312-j进行设置,使得对存储设备中的数据块进行识别。

图5示出了本发明实施例提供的被请求数据块集生成步骤201的子步骤的流程图。例如,子步骤由用于支持执行引导进程的设备110、120执行。特别地,例如,子步骤由被请求数据块处理单元111执行。此外,子步骤是在引导进程中执行的。

在步骤501中,监控引导进程中执行的数据块请求(例如,i/o请求)。这样一来,确定了哪一个引导进程所请求的数据块会将引导的设备设置为用于其预期用途及操作的状态。例如,通过对存储了对应数据块的存储设备的存取进行监控和检测,执行所述监控。

该对应的数据块例如包括:识别引导的设备的硬件和/或软件组件所请求的数据、验证硬件和/或软件组件的可用性和/或功能性所请求的数据、控制所述硬件和/或软件组件所请求的数据,从而可以在引导进程之后对其进行操作、初始化和/或操作引导的设备的计算机化系统所请求的数据、初始化和/或操作引导的设备所执行的应用所请求的数据、执行引导的设备中的mbr所请求的数据、加载引导的设备中的os内核所请求的数据、加载引导的设备中的驱动器所请求的数据、开始执行引导的设备中的业务/后台程序和/或应用程序所请求的数据和/或引导进程中任意其他所请求的数据。

在步骤502中,采集引导进程中被所述存储设备所请求的数据块上的信息401、402。为此,一旦监控或检测了(501)数据块的请求(例如,i/o请求),则对数据块上的信息401、402进行检测。正如上述对图3和图4a的描述,信息401、402例如包括存储设备中数据块的地址401以及该数据块的尺寸402。

在步骤503中,被请求数据块集311存储在存储设备中。特别地,针对步骤502中采集的数据块上的信息401、402,生成被请求数据块集311的条目311-1、311-2、311-i、311-n。然后,将对应数据块上的信息401、402存储在生成的条目311-1、311-2、311-i、311-n中。

针对步骤501中已经监控或检测的各个数据块执行上述步骤502和503。在结束执行被请求数据块集生成步骤201时,即在引导进程结束时,被请求数据块集311包括所述引导进程中所请求的以及步骤501中监控的所有数据块上的信息。

图6示出了本发明实施例提供的预取步骤202的子步骤的流程图。例如,子步骤由用于支持执行引导进程的设备110、130执行。特别地,例如,子步骤由预取单元112执行。此外,子步骤是在引导进程中执行的。

在步骤601中,从存储设备中检索数据块集312。如果如上所述,在之前的引导进程中已经生成了被请求数据块集311,则可以从存储设备中检索该数据块集312。如果在其中一个之前的引导进程中没有生成被请求数据块集311,则不可能执行预取步骤202并结束执行。

然而,如果在之前的引导进程中已经生成(201)被请求数据块集311,则将之前生成的数据块集311作为数据块集312在存储设备中进行检索。特别地,将之前生成的数据块集311作为数据块集312进行存取。如果在引导进程中同时也生成被请求数据块集,则生成关于当前执行的引导进程的新被请求数据块集311并在后续引导进程中将其作为被请求数据块集311。

当回到步骤601时,在一个实施例中,在诸如数据块集312的第一条目312-1等数据块集312的预定条目312-1、312-2、312-j、312-m中,开始存取数据块集312。

在步骤602中,访问条目312-1、312-2、312-j、312-m。特别地,从所述条目312-1、312-2、312-j、312-m中获得条目312-1、312-2、312-j、312-m中存储的数据块上的信息411、412。

在步骤603中,采用信息411、412从存储设备中检索对应的数据块。例如,如果信息411、412包括存储设备中数据块的地址411以及数据块的长度412,则通过在地址411中访问存储设备以及读取在所述地址411中开始并具有长度412的数据块,对对应的数据块进行检索。

在步骤604中,将检索到的数据块存储到另一存储设备中(例如,缓存),这样可以更快地存取存储设备中的数据块。在步骤603中已经从该存储设备中检索到了该数据块。

在步骤605中,验证是否已经获得(602)并存取(603)了数据块集312的所有条目312-1、312-2、312-j、312-m,并验证是否已经将所有的数据块都存储(604)在另一存储设备(例如,缓存)中。如果数据块集312中包括被忽略的条目312-1、312-2、312-j、312-m,即之前步骤602至604中没有处理的条目312-1、312-2、312-j、312-m,则通过重新执行步骤602,并因此将数据块集312的其他条目312-1、312-2、312-j、312-m考虑在内,继续执行预取(202)。

如果已经将数据块集312的所有条目312-1、312-2、312-j、312-m都考虑在内,则在步骤606中结束执行预取。

这里应该说明的是,如果存储(604)数据块的另一存储设备(例如,缓存)满了,则步骤602至605可能会中止执行一段时间。在引导进程中完成采用另一存储设备中存储(604)的一个或多个数据块之后,继续执行步骤602至605。这里,在进一步执行引导进程时,不需要另一存储设备中存储(604)的以及在引导进程中完成使用的所述一个或多个数据块。因此,将所述一个或多个数据块从另一存储设备中删除,直到所有的条目都被考虑在内才执行子步骤602至605。当确定另一存储设备(例如,缓存)满了时,上述中止可能随时发生。每次重新执行子步骤602至605,通过进一步执行子步骤602至605识别的新数据块将会替代另一存储设备中之前存储(604)的并在引导进程中完成处理的数据块。

可以在几种采用可引导设备的技术领域中实施本发明。可引导的设备,即可以引导的设备包括诸如移动设备(例如,移动电话、智能手机、车载设备、笔记本电脑等)或固定设备(例如,设施、传感器、执行器等)等各种计算设备。

此外,可以在不同的环境中实现本发明。除了具有物理设备或装置的普通计算机辅助环境以外,通常也可以在虚拟环境、云环境或虚拟机中实现本发明。因此,在本发明中,也可以引导虚拟系统以及通过云操作的系统。这种情况下,设备110、120、130为包括虚拟或云系统和/或管理和控制该虚拟或云系统的设备。

可以采用不同的方式对用于支持执行引导进程的设备110、120、130进行设置。在一个实施例中,设备110、120、130为可引导设备的一部分,而在另一实施例中,设备110、120、130为可引导设备以外的设备。在一个实施例中,设备110、120、130为包括外壳的装置,而在另一实施例中,设备110、120、130相当于包括多个(至少两个)连通实体、单元和/或设备的系统或装置。在一个实施例中,设备110、120、130为存储设备。在另一个实施例中,设备110、120、130为引导进程中被请求数据块的存储设备。在一个实施例中,设备110、120、130为保存虚拟机(virtualmachine,简称vm)磁盘的存储设备。在另一个实施例中,设备110、120、130为虚拟机监视器,即创建和运行虚拟机的硬件和/或软件设备。通常,设备110、120、130可以为任意计算设备,其中,术语“设备”包括如上所述的外壳的装置、系统或装置。

存储数据块并且在引导进程中从中被请求数据块的存储设备可以为任意用于存储数据的设备。在一个实施例中,所述存储设备为非易失存储设备,即即使重启(关机后再开机)后也可以检索所存储信息的存储设备。该存储设备可以为可引导设备的一部分,也可以位于可引导设备外部。如果该存储设备作为多个子存储设备的系统,部分子存储设备可以位于可引导设备中,而部分子存储设备可以位于可引导设备外部。或者,所有的子存储设备都可以位于可引导设备中,也可以位于可引导设备外部。这里提供了几种对存储设备进行设置的实施例。

可以将被请求数据块集311和数据块集312存储在同一个存储设备中,例如,存储数据块的且其中引导进程中所请求的数据块的存储设备。或者,可以将被请求数据块集311和数据块集312存储在至少一个(例如,非易失)存储设备,该存储设备不同于其中引导进程中所请求的数据块的存储设备。

预取(202)数据块的另一存储设备(例如,缓存)通常为相比较存储数据块的且其中引导进程中所请求的数据块的存储设备,可以更快存取所存储数据的存储设备。

鉴于以上描述,应该清楚本发明可以有不同的设置。本发明允许模块化实现。因此上述实施例可以相互组合。

因此,如上所述,本发明涉及一种用于支持执行引导进程的设备及方法。所述设备的被请求数据块处理单元用于在所述引导进程中生成被请求数据块集,其中,所述被请求数据块集的每个条目包括所述引导进程中被所述存储设备所请求的数据块上的信息。所述设备的预取单元用于在所述引导进程中针对数据块集的每个条目,从所述存储设备预取数据块,被预取的数据块上的信息存储在所述数据块集的条目中,其中,所述被请求数据块集的每个条目包括之前执行的引导进程中所述被所述存储设备所请求的数据块上的信息。进一步地,本发明涉及一种相应设置的计算机程序产品以及相应设置的计算机可读介质。

本文已结合各种实施例对本发明进行了描述。但本领域技术人员通过实践本发明,研究附图、本发明以及所附的权利要求,能够理解并获得公开实施例的其他变体。在权利要求书中,词语“包括”不排除其它元素或步骤,不定冠词“一”不排除多个。在仅凭某些措施被记载在相互不同的从属权利要求书中这个单纯的事实并不意味着这些措施的结合不能被有效地使用。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1