用于动态地调整在计算设备和存储设备之间传输I/O请求的方式的技术的制作方法

文档序号:18940032发布日期:2019-10-23 01:04阅读:121来源:国知局
用于动态地调整在计算设备和存储设备之间传输I/O请求的方式的技术的制作方法

所述实施方案阐述了用于动态地调整在计算设备和存储设备之间传输输入/输出(i/o)请求的方式的技术。



背景技术:

一般来讲,存储设备被配置为当存储设备完成对由计算设备发出的输入/输出(i/o)请求的处理时向计算设备发出中断。就这一点而言,该计算设备能够识别何时应对已完成的i/o请求采取后续动作。这可包括例如当i/o请求是以存储设备上的数据为目标的读取命令时向请求实体提供数据。另选地,这可包括当i/o请求是写入命令时向请求实体指示i/o请求被成功处理。

上述基于中断的方法传统上提供了用于管理计算设备和存储设备之间的信息流的可靠基础结构。例如,当i/o请求涉及将大量数据写入存储设备时,对于计算设备,等待处理i/o请求完成直到存储设备发出中断(在完成i/o请求时)更为有效,这与不断询问存储设备是否已完成i/o请求相反。但是,存在这样的情况:正被处理的i/o请求的性质导致后处理延迟(其与处理i/o请求本身相关联的延迟相匹敌甚至超过该延迟),从而降低基于中断的方法的总体性能。

因此,需要一种减轻上述基于中断的方法的缺陷的改进技术。



技术实现要素:

所述实施方案涉及用于动态地调整在计算设备和存储设备之间传输输入/输出(i/o)请求的方式的技术。具体地讲,该技术使计算设备和存储设备能够基于正被处理的i/o请求的性质在(i)基于轮询的i/o完成模式和(ii)基于中断的i/o完成模式之间转换。

一个实施方案阐述了一种用于动态地调整在计算设备和存储设备之间传输i/o请求的方式的技术。根据一些实施方案,该方法可以由计算设备实现,并且包括向被配置为存储多个i/o请求的提交队列提供至少一个i/o请求。该方法还可包括在存储设备正在处理多个i/o请求时识别与提交队列和/或完成队列相关联的至少一个条件得到满足,并且作为响应,激活(或维护)基于轮询的i/o完成模式。根据一些实施方案,可以通过以下方式激活基于轮询的i/o完成模式:(1)更新存储设备的操作模式,以使该存储设备在由该存储设备完成i/o请求时停止向计算设备发出中断,以及(2)更新计算设备的操作模式,以使该计算设备周期性地检查完成队列的完成的i/o请求。

另外,该方法还可包括识别至少一个条件不再被满足,并且作为响应,激活基于中断的i/o完成模式。根据一些实施方案,可以通过以下方式激活基于中断的i/o完成模式:(1)更新存储设备的操作模式,以使该存储设备在由该存储设备完成i/o请求时向计算设备发出中断,以及(2)更新计算设备的操作模式,以使计算设备(i)停止对完成的轮询,并且(ii)响应于从存储设备接收到中断,检查完成队列的完成的i/o请求。

其他实施方案包括一种被配置为存储指令的非暂态计算机可读存储介质,该指令当由被包括在计算设备中的处理器执行时使该计算设备执行上述方法中的任一方法的各步骤。另外的实施方案包括被配置为执行前述方法中任何方法的各种步骤的计算设备。

根据结合以举例的方式示出所述实施方案的原理的附图而进行的以下详细描述,本文所述的实施方案的其他方面和优点将变得显而易见。

附图说明

所包括的附图用于说明性目的,并且仅用于提供所公开的用于提供无线计算设备的本发明装置和方法的可能的结构和布置方式的示例。这些附图决不限制本领域的技术人员在不脱离实施方案的实质和范围的情况下可对实施方案作出的在形式和细节上的任何改变。该实施方案通过以下结合附图的详细描述将易于理解,其中相似的附图标号指代相似的结构元件。

图1示出了根据一些实施方案的被配置为实现本文所述的各种技术的系统的不同部件的框图。

图2a至图2b示出了根据一些实施方案的当基于中断的i/o完成模式或基于轮询的i/o完成模式被激活时信息在计算设备和存储设备之间流动的方式的概念图。

图3a至图3b示出了根据一些实施方案的用于在基于中断的i/o完成模式和基于轮询的i/o完成模式之间动态转换的方法。

图4示出了根据一些实施方案的可用于实现本文所述的各个部件的计算设备的详细视图。

具体实施方式

在本部分中提供了根据本发明所述的实施方案的装置和方法的代表性应用。提供这些示例仅为了添加上下文并有助于理解所描述的实施方案。因此对于本领域的技术人员将显而易见的是,当前描述的实施方案可在不具有这些具体细节中的一些或所有的情况下被实践。在其他实例中,未详细描述众所周知的工艺步骤,以便避免不必要地模糊当前描述的实施方案。其他应用是可能的,使得以下示例不应被当作是限制性的。

本文阐述的实施方案描述了用于动态地调整在计算设备和存储设备之间传输输入/输出(i/o)请求的方式的技术。具体地讲,该技术使计算设备和存储设备能够基于正被处理的i/o请求的性质在(i)基于轮询的i/o完成模式和(ii)基于中断的i/o完成模式之间转换。这些技术的更详细的讨论在下面示出并结合图1、图2a至图2b和图3a至图3b进行描述,其示出了可用于实现这些技术的系统和方法的详细的图示。

图1示出了计算设备102(例如,智能电话、平板电脑、膝上型电脑、台式计算机、服务器、扬声器等)的框图100,该计算设备可被配置为实现本文所述的各种技术。应当理解,为了简化起见,图1中示出的计算设备102的各种硬件部件以高级别呈现,并且下面结合图4提供更详细的细分的示例。还应当理解,在不脱离本公开的范围的情况下,计算设备102可包括能够实现本文所述的各种技术的附加实体。还应当理解,在不脱离本公开的范围的情况下,本文所述的实体可以被组合或拆分成另外的实体。还应当理解,在不脱离本公开的范围的情况下,可以使用基于软件或基于硬件(或软件和硬件的组合)的方法来实现本文所述的各种实体。

如图1所示,计算设备102可包括处理器104,该处理器结合易失性存储器106(例如,动态随机存取存储器(dram))和存储设备122(例如,硬盘驱动器、固态驱动器(ssd)等),使不同的软件实体能够在计算设备102上执行。例如,处理器104可被配置为将存储在存储设备122的非易失性存储器130中的操作系统(os)108的各种部件加载到易失性存储器106中。继而,操作系统108可以使计算设备102能够提供各种有用的功能,例如,加载/执行各种应用程序110(例如,用户应用程序)。需注意,不要求存储设备122包括在计算设备102内。相反,存储设备122可以是由计算设备102访问的单独/远程部件。

如图1所示,操作系统108/应用程序110可以经由存储设备驱动器112向存储设备122发出i/o请求132。i/o请求132可以表示例如新数据写入、现有数据覆盖、现有数据迁移等。根据一些实施方案,i/o请求132可以与属性集合(例如,操作方向性(即,读取或写入)、数据大小、优先级等)相关联。需注意,上述属性仅仅是示例性的,并且在不脱离本公开的范围的情况下,可以通过本文阐述的技术利用i/o请求132的所有已知属性。

根据一些实施方案,可以基于发出i/o请求132的应用程序110的性质自动分配i/o请求132的优先级。例如,由“前台”应用程序110发出的i/o请求132(例如,提供对用户可见的图形用户界面(gui)的“前台”应用程序)可以被自动地分配高优先级,因此i/o请求132与用户期望的计算设备102的总体响应性相关。前台应用程序的示例包括被操作计算设备102的用户主动使用的实用性应用程序、游戏应用程序、社交媒体应用程序等。相比之下,由“后台”应用程序110发出的i/o请求132(例如,对用户不可见并且/或者未被用户主动应用的“后台”应用程序)可以被自动地分配低优先级,因此i/o请求132与用户期望的计算设备102的总体响应性无关。后台应用程序的示例可包括在后台执行索引操作、在后台生成文档预览、将数据备份到基于云的存储系统等的应用程序。需注意,本文阐述的技术不限于优先级的此类自动分配,并且每个应用程序110可以基于i/o请求132的相应紧急程度手动地向i/o请求132分配不同的优先级。另外,需注意,在不脱离本公开的范围的情况下,可以实现任何数量的优先级以实现期望的粒度级别。例如,可以分配不同的优先级层级(例如,“层级0”、“层级1”、“层级2”和“层级3”),其中“层级0”表示最高优先级级别,而“层3”表示最低优先级级别。

现在重新参照图1,根据一些实施方案,存储设备驱动器112可被配置为实现一个或多个提交队列114,该提交队列被配置为存储关于i/o请求132的信息,该i/o请求尚未由存储设备122处理并需要存储设备122的注意。需注意,在不脱离本公开的范围的情况下,为了简化本公开,正在讨论单个队列,并且可以实现任何数量的队列。根据一些实施方案,存储设备驱动器112也可被配置为实现一个或多个完成队列116,该提交队列被配置为存储关于完成的i/o请求132的信息,该i/o请求由存储设备122处理并需要存储设备驱动器112的注意。另外,存储设备驱动器112可被配置为实现一个或多个中断引擎118,该一个或多个中断引擎使基于中断的i/o完成模式能够操作,其细节在下面结合图2a和图3b进行描述。另外,存储设备驱动器112可被配置为实现一个或多个轮询引擎120,该一个或多个轮询引擎使本文所述的基于中断的i/o完成模式能够实现,其细节在下面结合图2b和图3a进行描述。

根据一些实施方案,并且如图1所示,存储设备122可包括被配置为协调存储设备122的总体操作的存储设备控制器124。具体地讲,存储设备控制器124可以实现提交队列警告126,这使存储设备控制器124能够在i/o请求132被添加到提交队列114时从存储设备驱动器112接收警告134。继而,存储设备控制器124可以从提交队列114获得i/o请求132并将i/o请求132处理为i/o操作142。另外,当完成对应于i/o请求132的i/o操作142时,存储设备控制器124可以向完成队列116发出完成136。根据一些实施方案,并且如本文中更详细描述的,当基于中断的i/o完成模式处于激活状态时,可以结合每个完成136的发出来发出中断138。继而,中断引擎118接收中断138并检查完成队列116的更新。另选地,当基于轮询的i/o完成模式处于激活状态时,存储设备控制器124不发出中断138,因为轮询引擎120被配置为周期性地检查完成队列116的更新。在任一种情况下,当存储设备驱动器112处理对完成队列116的更新时,存储设备驱动器112可以向完成队列确认128(由存储设备控制器124管理)发出确认140以指示完成136由存储设备驱动器112确认/处理。

因此,图1提供了根据一些实施方案的计算设备102可被配置为实现本文所述的技术的方式的概述。现在将结合图2a至图2b和图3a至图3b在下文提供基于中断的i/o完成模式和基于轮询的i/o完成模式操作(以及使得任一种模式被激活的条件)的方式的更详细细分的示例。

图2a至图2b示出了根据一些实施方案的当基于中断的i/o完成模式或基于轮询的i/o完成模式被激活时信息在计算设备102和存储设备122之间流动的方式的概念图。具体地讲,图2a示出了当计算设备102在基于中断的i/o完成模式下操作时的信息流的示例性细分200,并且图2b示出了当计算设备102在基于轮询的i/o完成模式下操作时的信息流的示例性细分210。

如图2a所示,在基于中断的i/o完成模式下操作可以涉及步骤201,其中存储设备驱动器112从在计算设备102上执行的实体(例如,操作系统108/应用程序110)接收i/o请求132。继而,步骤202涉及存储设备驱动器112将警告134发送到由存储设备控制器124管理的提交队列警告126。根据一些实施方案,警告134可包括关于i/o请求132/提交队列114的信息,使存储设备控制器124能够识别i/o请求132需要注意。响应于接收到警告134,存储设备控制器124执行步骤203,该步骤涉及根据i/o请求132执行i/o操作142。这可包括例如从存储设备122的非易失性存储器130读取数据、将数据写入存储设备122的非易失性存储器130,等等。当i/o操作142完成时,存储设备控制器124执行步骤204,该步骤涉及将完成136发送到完成队列116。根据一些实施方案,完成136可包括与i/o请求132、i/o操作142等相关联的信息,使得存储设备驱动器112和存储设备控制器124都可以理解计算设备102内的i/o请求132的总体进程。

另外,并且如图2a所示,存储设备控制器124可被配置为执行步骤205,该步骤涉及结合在步骤204发出完成136向中断引擎118发出中断138。根据一些实施方案,中断138通过在步骤204发出的完成136向中断引擎118指示完成队列116已被更新,并且需要中断引擎118的注意。继而,中断引擎118可以执行步骤206,该步骤涉及向在步骤201发出i/o请求132的实体(例如,操作系统108/应用程序110)发出完成136。另外,中断引擎118可以执行步骤207,该步骤涉及向由存储设备控制器124管理的完成队列确认128发出确认140。这样,存储设备控制器124能够利用完成队列确认128来识别i/o请求132的完成已被存储设备驱动器112识别。

因此,图2a示出了当计算设备102在基于中断的i/o完成模式下操作时,存储设备驱动器112和存储设备控制器124之间的信息流的示例性细分200。值得注意的是,可能出现这样的情况,其中所需的中断138的传输(例如,图2a中的步骤205)可以建立降低计算设备102的总体性能的相对处理延迟。例如,当图2a中所示的i/o请求132表示针对少量数据的读取命令时,需要执行的各种后续步骤(例如,步骤204-207)建立有影响的延迟,在某些情况下,这些延迟甚至可以超过与执行对应的i/o操作142本身相关联的延迟。因此,图2b中所示的基于轮询的i/o完成模式可以帮助缓解该问题,这将在下面结合图2b更详细地描述。

如图2b所示,基于轮询的i/o完成模式的示例性细分210包括步骤211,该步骤涉及存储设备驱动器112从在计算设备102上执行的实体接收i/o请求132(例如,如上结合图2a的步骤201所述)。值得注意的是,与基于中断的i/o完成模式相反,存储设备驱动器112可以通过在步骤212向轮询引擎120发出激活命令来响应i/o请求132。需注意,激活命令可以使轮询引擎120在轮询引擎120处于非激活状态时激活,或者使轮询引擎120在轮询引擎120已处于激活状态时保持激活。在不脱离本公开的范围的情况下,可以使用其他方法来实现图2b中所示的步骤212的预期效果。例如,存储设备驱动器112可以引用指示当前激活的i/o完成模式(即,基于中断的i/o完成模式或基于轮询的i/o完成模式)的二进制标志。这样,当基于轮询的i/o完成模式当前处于激活状态时,每当接收到i/o请求132,存储设备驱动器112就可以放弃发出激活命令,从而提高整体操作效率。

根据一些实施方案,并且如本文所述,轮询引擎120可被配置为周期性地引用完成队列116以识别在i/o操作142被成功处理时由存储设备控制器124添加到完成队列116的任何新条目(即,完成136)。就这一点而言,存储设备控制器124可以不发出中断138,该中断依赖于基于中断的i/o完成模式。这样,可以实现操作效率增益,尤其是当满足通过基于中断的i/o完成模式激活基于轮询的i/o完成模式的适当条件时,这将在下面结合图3a至图3b更详细地描述。

如图2b所示,步骤213涉及存储设备驱动器112将警告134发送到由存储设备控制器124管理的提交队列警告126(例如,如上结合图2a的步骤202所述)。响应于接收到警告134,存储设备控制器124执行步骤214,该步骤涉及根据i/o请求132执行i/o操作142(例如,如上结合图2a的步骤203所述)。当i/o操作142完成时,存储设备控制器124执行步骤215,该步骤涉及将完成136发送到完成队列116(例如,如上结合图2a的步骤204所述)。同样,与基于中断的i/o完成模式相反,基于轮询的i/o完成模式不涉及发出中断138以及发出完成136。具体地讲,并且如前所述,轮询引擎120被配置为周期性地检查完成队列116的更新,从而避免由存储设备控制器124发出的中断138的需要。

轮询引擎120可以识别在图2b的步骤215发出的完成136,并且作为响应,执行步骤216,该步骤涉及向在步骤211发出i/o请求132的实体提供完成136(例如,如上结合图2a的步骤206所述)。另外,轮询引擎118可以执行步骤217,该步骤涉及向由存储设备控制器124管理的完成队列确认128发出确认140(例如,如上结合图2a的步骤207所述)。

因此,图2b示出了当计算设备102在基于轮询的i/o完成模式下操作时,存储设备驱动器112和存储设备控制器124之间的信息流的示例性细分210。如前所述,当存储设备驱动器112试图识别在基于中断的i/o完成模式下操作还是在基于轮询的i/o完成模式下操作更优时,可以考虑不同的因素。因此,提供图3a至图3b以示出根据一些实施方案的用于在基于中断的i/o完成模式和基于轮询的i/o完成模式之间动态转换的方法300。

如图3a所示,方法300开始于步骤302,其中存储设备驱动器112从在计算设备102上执行的实体(例如,操作系统108、应用程序110等)接收i/o请求132。根据一些实施方案,i/o请求132可包括描述i/o请求132的性质的属性集合(如上结合图1所述)。在步骤304,存储设备驱动器112向由存储设备驱动器112管理的提交队列114提供i/o请求132。在步骤306,存储设备驱动器112向存储设备122(尤其是存储设备122的存储设备控制器124)通知i/o请求132。根据一些实施方案,存储设备驱动器112可被配置为每当将i/o请求132被放入提交队列114时将警告134发送到提交队列警告126(由存储设备控制器124管理)。这样,存储设备控制器124可以知道何时对需要处理的新i/o请求132采取动作。

在步骤308,存储设备驱动器112基于以下两方面确定与基于轮询的i/o完成模式相关联的至少一个条件是否得到满足:(i)包括在提交队列114中的未完成的i/o请求132和/或(ii)包括在完成队列116中的完成136(对应于完成的i/o请求132)。具体地讲,步骤308涉及存储设备驱动器112基于计算设备102内的未完成/完成的i/o请求132来识别是否适合激活(或维持)基于轮询的i/o完成模式。如前所述,存储设备驱动器112在进行该确定时可以考虑任何数量的因素。例如,当i/o请求132中的至少一个指示(i)读取操作方向性、(ii)最高级别的优先级和/或(iii)满足阈值大小的数据大小时,可以满足至少一个条件。此外,当i/o请求132的数量满足阈值数时,该至少一个条件可以得到满足。再次,需注意,上述因素是示例性的,并且当尝试识别对于处理当前i/o请求132最有效的操作模式时,可以分析并组合任何数量的因素。

在步骤310,存储设备驱动器112确定该至少一个条件是否得到满足。在步骤310,如果存储设备驱动器112确定该至少一个条件得到满足,则方法300前进至步骤312。否则,方法300前进至图3b的步骤320,下面将更详细地描述。在步骤312,当存储设备122完成i/o请求132时,存储设备驱动器112通过使存储设备122停止发出中断138来激活(或维持)基于轮询的i/o完成模式。

根据一些实施方案,存储设备驱动器112可以向存储设备控制器124发送命令,该命令向存储设备控制器124指示当前激活的模式—即,基于轮询的i/o完成模式或者基于中断的i/o完成模式。例如,当从基于中断的i/o完成模式转换到基于轮询的i/o完成模式时,该命令可以向存储设备控制器124指示每当存储设备控制器124完成i/o请求132时不应再向存储设备驱动器112发出中断138。相反地,当从基于轮询的i/o完成模式转换到基于中断的i/o完成模式时,该命令可以向存储设备控制器124指示每当存储设备控制器124完成i/o请求132时应向存储设备驱动器112发出中断138。根据一些实施方案,该命令可以使不同的值被分配给存储设备控制器124可访问的二进制标志,例如,其中值“1”表示基于中断的i/o完成模式处于激活状态,值“0”表示基于轮询的i/o完成模式处于激活状态。需注意,在不脱离本公开的范围的情况下,可以在存储设备驱动器112/存储设备控制器124之间利用任何已知技术来有效地维持和识别激活模式。

另外,需注意,存储设备驱动器112/存储设备控制器124可被配置为以有序的方式执行前述模式转换,以避免在计算设备102内发生不可预测的行为。例如,当从基于中断的i/o完成模式转换到基于轮询的i/o完成模式时,轮询引擎120可被配置为等待中断引擎118结束与中断138一起插入到完成队列116中的任何未完成的完成136的处理。相反地,当从基于轮询的i/o完成模式转换到基于中断的i/o完成模式时,轮询引擎120可被配置为结束独立于任何中断138插入到完成队列116中的任何未完成的完成136的处理(因为在基于轮询的i/o完成模式下操作时不发出中断138)。继而,轮询引擎120可以发出上述命令以激活基于中断的i/o完成模式,其随后使存储设备控制器124结合在i/o请求132完成时发出的完成136继续发出中断138。

另外,并且如图3a所示,激活基于轮询的i/o完成模式还可涉及使计算设备102周期性地检查完成队列116中对应于完成的i/o请求132的完成136。根据一些实施方案,这可涉及存储设备驱动器112激活轮询引擎120,该轮询引擎被配置为检查完成队列116中的完成136。例如,轮询引擎120可被配置为以定时间隔检查完成队列116,期望至少一个完成136将被立即置于完成队列116中,假定满足至少一个条件并且使基于轮询的i/o完成模式被激活。就这一点而言,当i/o请求132完成时(与基于中断的i/o完成模式一样),轮询引擎120不依赖于由存储设备控制器124发出的中断138。

因此,在步骤314,存储设备驱动器112—具体地,与存储设备驱动器112相关联的轮询引擎120—确定对应于在步骤302接收的i/o请求132的完成136—或对应于在其他时间接收的i/o请求132的其他完成136—是否存在于完成队列116中。如果在步骤314,存储设备驱动器112确定在完成队列116中存在至少一个完成136,则方法300前进到步骤316。否则,方法300可在步骤314重复,其中只要基于轮询的i/o完成模式有效,则轮询引擎120就继续周期性地检查完成队列116中的完成136。

在步骤316,轮询引擎120从完成队列116中移除一个或多个完成136。注意,轮询引擎120可以自行执行移除,或者可以报告并请求存储设备驱动器112执行移除。在步骤318,如前所述,轮询引擎120或存储设备驱动器112向存储设备控制器124发出针对一个或多个完成136的相应确认140。根据一些实施方案,存储设备控制器124可将确认140放入由存储设备控制器124管理的完成队列确认128中。以这种方式,存储设备控制器124可有效地利用完成队列确认128来识别i/o请求132正被存储设备驱动器112以不会导致溢出的速率接收和确认。

因此,步骤312-318描述了当基于轮询的i/o完成模式有效时存储设备驱动器112和存储设备控制器124的操作方式。然而,如本文所述,当步骤310的至少一个条件不再满足时,可以替代地激活基于中断的i/o完成模式。这可以动态地发生,例如,当导致基于轮询的i/o完成模式被激活的未决i/o请求132完成时,当接收到新的i/o请求132并且不满足基于轮询的i/o完成模式的要求时,等等。在步骤310,当至少一个条件不满足时,方法300前进到图3b的步骤320,其中存储设备驱动器112通过(i)当存储设备122完成i/o请求132时使存储设备控制器124发出中断138来激活基于中断的i/o完成模式。如前所述,存储设备控制器124可更新二进制标志,以指示每当i/o请求132被成功处理时应发出中断138。

另外,并且如图3b的步骤320所示,激活基于中断的i/o完成模式还可涉及(ii)使存储设备驱动器112响应于接收到来自存储设备122的中断138而检查完成队列116中的完成136。根据一些实施方案,存储设备驱动器112可激活中断引擎118,该中断引擎被具体配置为响应于由存储设备控制器124发出的中断138来检查完成队列116中的完成136。例如,存储设备驱动器112可从存储设备控制器124接收中断138并且向中断引擎118通知中断138。继而,假定存储设备控制器124在将完成136(与中断138相关联)放入完成队列116之后发出中断138,则中断引擎118可检查完成队列116中可能存在的完成136。就这一点而言,当i/o请求132完成时,中断引擎118依赖于由存储设备控制器124发出的中断138,这与基于轮询的i/o完成模式不同。

在步骤322,存储设备驱动器112(或中断引擎118)等待将从存储设备122接收的中断138。如果在步骤322,存储设备驱动器112确定从存储设备122接收到中断,则方法300返回至图3a的步骤316,其中如前所述执行步骤316和318。否则,方法300保持在步骤322,并且存储设备驱动器112(或中断引擎118)等待将从存储设备122接收的中断138。

图4示出了根据一些实施方案的可用于实现本文所述的各个部件的计算设备400的详细视图。具体地讲,该详细视图示出了图1所示计算设备102中可包括的各个部件。如图4所示,计算设备400可包括表示用于控制计算设备400的总体操作的微处理器或控制器的处理器402。计算设备400还可包括用户输入设备408,该用户输入设备允许计算设备400的用户与计算设备400进行交互。例如,用户输入设备408可采取多种形式,诸如按钮、小键盘、拨号盘、触摸屏、音频输入接口、视觉/图像捕获输入接口、传感器数据形式的输入等。更进一步地,计算设备400可包括可由处理器402控制以向用户显示信息的显示器410(屏幕显示器)。数据总线416可促进至少存储设备440、处理器402和控制器413之间的数据传输。该控制器413可用于通过装置控制总线414来与不同设备进行交互并对其进行控制。计算设备400还可包括耦接至数据链路412的网络/总线接口411。在无线连接的情况下,网络/总线接口411可包括无线收发器。

计算设备400还包括存储设备440,该存储设备可包括单个磁盘或多个磁盘(例如,ssd),并且包括管理存储设备440内的一个或多个分区的存储管理模块。在一些实施方案中,存储设备440可包括闪存存储器、半导体(固态)存储器等。该计算设备400还可包括随机存取存储器(ram)420和只读存储器(rom)422。rom422可存储将以非易失性方式执行的程序、实用程序或过程。ram420可提供易失性数据存储并存储与计算设备102的操作相关的指令。

可单独地或以任何组合使用所述实施方案的各个方面、实施方案、具体实施或特征。可由软件、硬件或硬件与软件的组合来实施所述实施方案的各个方面。所述实施方案也可体现为计算机可读介质上的计算机可读代码。计算机可读介质为可存储可被计算机系统读取的数据的任何数据存储设备。该计算机可读介质的示例包括只读存储器、随机存取存储器、cd-rom、dvd、磁带、硬盘驱动器、固态驱动器、和光学数据存储设备。计算机可读介质也可分布在网络耦接的计算机系统中,使得计算机可读代码以分布的方式被存储和执行。

为了说明的目的,前述描述使用具体命名以提供对所述实施方案的彻底理解。然而,对于本领域的技术人员而言将显而易见的是,不需要具体细节即可实践所述实施方案。因此,具体实施方案的前述描述被呈现用于例示和描述的目的。前述描述不旨在为穷举性的或将所述的实施方案限制为所公开的精确形式。对于本领域的普通技术人员而言将显而易见的是,鉴于上面的教导内容,许多修改和变型是可能的。

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