本专利申请基于并要求于2010年12月20日提交、由Peter B.Chon所做出的标题为“Low Power Hardware Controlled MemoryBackup that includes Encryption and Signature Generation”的美国临时专利申请No.61/424,701的权益,对于该申请所公开和教导的全部内容,通过引用,具体地包含于此。
具体实施方式
图1是电力隔离与备份系统的框图。在图1中,隔离与备份系统100包括:集成电路110、电力控制器150、SDRAM 125和非易失性存储器(例如,闪存)135。集成电路(IC)110包括SDRAM子系统115、控制器140、时钟发生器141和其它电路111。SDRAM子系统115包括SDRAM控制器120和非易失性存储器控制器130。其它电路111可以包括临时储存装置112(例如,高速缓冲存储器、缓冲器,等等)。SDRAM控制器120经接口121与SDRAM 125接口并对其进行控制。非易失性存储器控制器130经接口131与非易失性存储器135接口并对其进行控制。SDRAM子系统115(并且因此SDRAM控制器120和非易失性存储器控制器130)操作性地耦合到控制器140、时钟发生器141、其它电路111和临时储存装置112。时钟发生器141操作性地耦合到控制器140和其它电路111。
电力控制器150向IC 110提供电力供给A(PWRA)160。电力控制器150向SDRAM子系统115提供电力供给B(PWRB)161。电力控制器150向SDRAM 125提供电力供给C(PWRC)162。电力控制器150向非易失性存储器135提供电力供给D(PWRD)163。电力控制器150向控制器140提供电力故障信号165。电力控制器150还通过信号166操作性地耦合到SDRAM子系统。
应当理解,如在本申请中所使用的,SDRAM(同步动态随机存取存储器)意图包括所有易失性存储器技术。因此,在一种实施方式中,SDRAM子系统115可以包括静态随机存取存储器(SRAM)控制器,而SDRAM 125可以包括SRAM设备。
在一种实施方式中,当电力控制器150检测到电力故障情况(即将发生的电力故障或者已有的电力故障)时,电力控制器150通过电力故障信号165通知IC 110这种情况。这将启动电力隔离序列,以将SDRAM子系统115与IC 110的其余部分(尤其是其它电路111)隔离开。在一种实施方式中,整个电力隔离序列是由硬件(例如,控制器140、SDRAM子系统115、或者控制器140和SDRAM子系统115二者)控制的,而没有来自软件的交互。
一旦接收到电力故障情况的通知,连接到SDRAM子系统115的所有接口(例如,对于其它电路111的接口)就将中断。片上临时储存装置112将被转储清除(flush)。在图1中,应当理解,尽管临时储存装置112被示为在SDRAM子系统115的外面,但是临时储存装置112也可以是SDRAM子系统115的一部分。在一个例子中,临时储存装置112可以是高速缓冲存储器(例如,一级高速缓冲存储器、二级高速缓冲存储器、三级高速缓冲存储器)、记入缓冲器(postingbuffer)等。
一旦临时储存装置112已经被转储清除,连接到SDRAM子系统115的逻辑就指示用于转储清除的接口何时已经中断。一旦中断,这些接口就不再接受任何新的循环。一旦所有接口都中断了,外部设备和内部核心逻辑(即,其它电路111)所需的输入就被锁存,使得当隔离发生时,它们的状态将不会丢失。输入被锁存后不再需要的时钟被断开。SDRAM子系统将切换到内部生成的时钟,或者由与SDRAM子系统115共享电力的时钟发生器(例如,时钟发生器141)生成的时钟。在这之后,存储器备份不需要的、到SDRAM子系统115的输入被隔离。在一种实施方式中,这些输入被驱动至失效状态。
在输入的隔离完成之后,SDRAM子系统115(或者控制器140)向电力控制器150发信号(例如,利用信号166),以去除PWRA 160。这导致,除SDRAM子系统115之外,到IC 110的全部的电力都被关断。SDRAM子系统115位于至少与其它电路111分开的电力层上。这使得对于SDRAM子系统的电力能够保持(即,通过PWRB 161),直到对于隔离与备份系统100的电力完全失去。
除了控制到除SDRAM子系统115(及SDRAM子系统115所需的任何其它逻辑)之外所有其它电路的电力的隔离和去除,一旦接口已经中断并且临时储存装置112被转储清除,内部的存储器备份逻辑就将开始把数据从SDRAM 125移到非易失性存储器135。在一种实施方式中,这些是在PWRA去除后整个芯片上运行的仅有的循环。
图1示出了IC 110芯片和外部逻辑之间的连接及可以用于电力隔离和后续存储器备份的一些内部连接。当电力控制器150检测到电力故障时,它通过电力故障信号165通知IC 110。控制器140监视电力故障信号165。当控制器140看到电力故障信号165被断言而且使得电力隔离可以进行时,控制器140通过断言power_iso_begin信号(未在图1中明确示出)通知SDRAM子系统115开始隔离序列。然后,SDRAM子系统115执行电力隔离序列所需的步骤。电力隔离序列中所包括的步骤在本说明书中随后更详细地解释。
一旦电力隔离序列完成,就断言MSS_core_iso_ready信号(图1中没有明确示出),指示至少PWRA 160可以被去除。电力控制器150禁用PWRA 160,但将保持PWRB 161、PWRC 162和PWRD 163启用。禁用PWRA 160去除IC 110中除连接到PWRB 161的电路之外的部分的电力。SDRAM子系统115以及关联的锁相环(例如,在时钟发生器141内部)和IO(例如,接口121和131)在与IC 110的其余部分不同的电力层内。这个层是由PWRB 161供电的,并且将保持启用。在一个例子中,其电路的至少一部分在这个独立电力层内的功能块是控制器140、时钟发生器141和SDRAM子系统115。在一种实施方式中,外部SDRAM 125保持由PWRC 162供电,并且外部非易失性存储器保持由PWRD 163供电。存在必须保持带电以执行存储器备份的减少数量的逻辑。
在电力隔离序列中,SDRAM子系统115在合适的时间开始SDRAM 125存储器备份。这种备份将所需的(所请求的)数据从SDRAM 125移到非易失性存储器135。在一种实施方式中,整个存储器备份是在没有软件干涉的情况下执行的。
应当理解,以上所讨论而且部分地由图1示出的用于提供电力供给160-163的方法是对隔离与备份系统100的一个或多个部件提供(和去除)电力的示例方式。在所示出的例子中,所有电力供给160-163和多个电力域/层的控制都是在IC 110的外部进行的。但是,还存在对隔离与备份系统100的一个或多个部件提供(和去除)电力的其它方法。一种方法可以针对每个电压使用单个外部电源,然后利用在IC110内部的开关产生不同的电力域/层。另一种方法可以减少外部电压的数量,并且使用隔离与备份系统100的一个或多个部件(例如,IC110)内部的调节器与IC 110内部的开关一起来获得多种电压,以控制不同的电力域/层。对于这些方法,电力隔离是以大致相同的方式进行的。不同之处在于需要被通知以便保持电力供给161-163启用的电力控制逻辑150可以位于内部或者外部。
图2是电力隔离方法的流程图。图2中所示出的步骤可以由隔离与备份系统100的一个或多个元件来执行。为第一片上子系统接收电力(202)。例如,给其它电路111供电的PWRA 160可以被IC 110接收。接收电力故障情况的指示信号(indicator)(204)。例如,电力故障信号165可以被IC 110接收。当断言power_iso_begin信号时,这可以导致电力隔离序列开始。
中断到SDRAM子系统的接口(206)。临时储存装置被转储清除到SDRAM(208)。例如,用于临时存储到SDRAM 125/来自SDRAM125的数据拷贝的三级高速缓冲存储器、二级高速缓冲存储器、记入缓冲器或者任何其它类型的存储器储存装置都可以被转储清除。当它们已经完成了所有未完成循环并停止接受任何新循环时,连接到每个接口的逻辑都可以返回中断指示。
在硬件控制下,片上SDRAM子系统被隔离(210)。例如,当SDRAM接口(或者临时储存装置112)指示其已经中断接受循环时,通过将其输入设置成无效状态,而隔离其输入。一旦接收到来自其它接口的中断,需要为外部核心设备和内部逻辑保留的输入被锁存。这些输入包括例如复位、用于PLL的信号和带(strap)输入的项目。在这个时间点,SDRAM子系统不再需要的任何时钟都可以断开,以帮助减少功耗。稍后,可以断言信号(例如,MSS_core_iso_enable),这个信号将指示隔离到SDRAM子系统的所有输入并将它们设置成其无效状态。
由第一片上子系统使用的时钟和电力被断开(212)。例如,到临时储存装置112的时钟可以切换到内部生成的时钟。一旦输入已经被隔离,就可以断言信号(例如,MSS_core_iso_ready)。例如对于电力控制逻辑150,这指示连接到IC 110的PWRA 160现在会被禁用。
生成被SDRAM子系统使用的时钟(214)。例如,时钟发生器141可以生成当PWRA 160断开时要被SDRAM子系统使用的时钟。数据从SDRAM拷贝被非易失性存储器(216)。例如,从SDRAM 125到非易失性存储器135的存储器备份可以通过断言信号(例如,flash_offload_begin)开始。从SDRAM子系统、SDRAM和非易失性存储器去除电力(218)。例如,在完成存储器备份后在电力控制器150的控制下,或者仅仅因为到整个隔离与备份系统100的电力故障,电力从SDRAM子系统115、SDRAM 125和非易失性存储器135去除。
在备份期间隔离SDRAM子系统115的电力的优点是减少了所消耗的电量。只有IC 110内部处理存储器备份的逻辑、外部SDRAM 125和非易失性存储器135被供电。通过减少功耗,增加了在所有其余电力被消耗完之前可用于执行存储器备份的时间量。除了在备份完成之前需要较少的外部逻辑来维持电力之外,有更多时间使得更多存储器能够被备份。因为电力隔离正在进行,所以内部移动闪存控制器以减少功耗和进行存储器备份所需的整体系统成本会是有利的。
在一种实施方式中,通过在当SDRAM 125中的数据移到非易失性存储器135时执行加密和/或数据完整性签名计算,为备份的数据提供附加的数据保护。数据的加密提供了用于存储数据的安全方法。数据完整性签名计算防止大多数可能出现的数据错误。
当需要存储器备份或者恢复时,SDRAM子系统115在SDRAM125和非易失性存储器135之间移动数据。SDRAM子系统115可以使用用于指示所请求的数据移动的CDB(命令描述符块)列表。这些CDB的格式一般是预先定义的。CDB中的一个字段是指示在SDRAM125中什么地方读或者写数据的存储器地址字段。在一种实施方式中,这个字段中所提供的地址位的数量超过了寻址所有SDRAM 125所需的数量。这些地址位中不需要的一些地址位可以用于编码关于在数据从SDRAM 125移出/移入时数据应当如何操作的信息。当执行存储器备份或者恢复时,或者在其它时候,可以发生这种移动。未使用的地址位的编码可以指示数据是否应当编码/解码、是否需要生成签名、签名是否应当卸载或者复位及使用哪个签名引擎。
当从非易失性存储器控制器130接收到读/写SDRAM 125的请求时,前面提到的未使用的地址位可以解释,以确定在数据经SDRAM子系统115在SDRAM 125和非易失性存储器135之间移动时要执行什么数据操作。
在一种实施方式中,图3A和3B是数据操作系统配置的框图。在图3A中,数据操作系统300包括:SDRAM控制器310、闪存控制器320、控制器330、签名引擎340、加密/解密引擎350和多路复用器(MUX)360。控制器330操作性地耦合到SDRAM控制器310、闪存控制器320、签名引擎340、加密/解密引擎350和MUX 360。因此,控制器330可以从闪存控制器320接收命令、信号、CDB等,执行仲裁,并且另外还可以管理数据流和数据操作系统300的配置。
在图3A中,SDRAM 310配置成通过耦合371将从SDRAM(图3A中未示出)所读取的数据发送到签名引擎340、加密/解密引擎350和MUX 360的第一输入。加密/解密引擎350配置成通过耦合372将加密后的数据发送到MUX 360的第二输入。签名引擎340配置成通过耦合373将数据完整性签名发送到MUX 360的第三输入。MUX被控制器330控制,以将从SDRAM读取的未修改数据、加密数据或者数据完整性签名中的一个发送到闪存控制器320。闪存控制器320可以将从SDRAM读取的未修改数据、加密数据或者数据完整性签名存储到闪存存储器(图3A中未示出)中。
图3A示出了当控制器330接收到来自闪存控制器320的从SDRAM(例如,SDRAM 125)读取的请求时用于数据流和控制的配置。在一种实施方式中,当需要SDRAM存储器的备份时,使用这种配置和流。在一种实施方式中,签名引擎340和加密/解密引擎350既用于读取请求又用于写入请求。用于闪存写入请求(对应于SDRAM读取)的数据连接和流在图3A中示出。用于闪存读取请求(对应于SDRAM写入)的数据连接在图3B中示出。
闪存控制器320将读取请求发送到控制器330。控制器330检查该请求的编码的地址线(或者专用的字段),以确定从SDRAM控制器310返回的读取数据路由到什么地方,以及需要什么数据操作(如果有的话)。在一种实施方式中,地址位[46:40]包含如下的编码和映射:位40-42(SES[0:2])指定8个签名引擎340中的哪个应当采取由编码的其它位所指定的动作(如果有的话);位43(SG)确定所指定的签名引擎是否应当利用所读取的数据作为输入来生成数据完整性签名;位44(SO)告诉所指定的签名引擎输出数据完整性签名(依赖于MUX360的状态,该签名可以被发送到闪存控制器320以进行存储);位45(SR)复位所指定的签名引擎的数据完整性签名;而位46(E/D)确定来自加密/解密引擎350的输出的加密数据是否应当发送到闪存控制器320。
图4是命令数据块(CDB)的图示。在图4中,示出了用于地址位0-46的地址字段。还示出了SDRAM地址位中指定所使用的SDRAM地址位(A[0:39])的字段和编码地址位(A[40:46])的字段。还示出了编码地址位的单独位字段(SES[0:2]、SG、SO、SR和E/D)。
如可以理解的,基于地址位40-46的编码,指示将被发送到MUX360,这导致三个不同源中的一个被闪存控制器320使用。数据将直接来自SDRAM控制器310、加密/解密引擎350,或者在签名卸载的情况下来自签名引擎340中的一个。如果编码指示要执行加密,则加密/解密引擎350将被控制器330控制,以从SDRAM控制器310接收所读取的数据。一旦加密/解密引擎350接收到来自SDRAM控制器310的数据,它就执行数据加密,将结果发送到MUX 360,以路由到闪存控制器320,并等待其接受该数据。
编码还指示是否应当对传送到闪存存储器的数据进行签名生成。如由编码的签名引擎选择(SES[0:2])字段所指示的,八个签名引擎340中的一个将被通知其CRC/校验和签名值应当更新。与数据直接发送到闪存控制器320或者发送到加密/解密引擎350并行地,数据还至少发送到所指定的签名引擎340。一旦所选择的签名引擎340看到SDRAM数据被这些块中的任何一个接受,就利用该数据更新当前的CRC/校验和签名。最后,编码指示签名卸载是否应当输出。如果需要签名卸载,则读取命令将不会被控制器330发布到SDRAM控制器310。相反,控制器330将指示所选择的签名引擎340将数据完整性签名发送到闪存控制器320。
在图3B中,闪存控制器320配置成通过耦合381将从闪存存储器(图3B中未示出)读取的数据发送到签名引擎340、加密/解密引擎350和MUX 361的第一输入。加密/解密引擎350配置成通过耦合382将加密后的数据发送到MUX 361的第二输入。签名引擎340配置成通过耦合383指示所选数据完整性签名的当前值。MUX 361被控制器330控制,以将(经闪存控制器320)从闪存存储器读取的未修改数据或者解密后的数据中的一个发送到SDRAM控制器310。SDRAM控制器310可以将从闪存存储器读取的未修改数据或者解密的数据存储到SDRAM(图3B中未示出)中。
用于闪存读取请求(对应于SDRAM写入)的数据连接在图3B中示出。在一种实施方式中,当需要将数据恢复回SDRAM存储器时,使用这个流。控制器330可以从闪存控制器320接收写入命令。控制器330可以向SDRAM控制器310发布写入请求。检查该请求的编码的地址线,以确定将(从闪存控制器320)发送到SDRAM控制器的写入数据路由到什么地方,以及需要什么数据操作(如果有的话)。可以使用与图3A的讨论中所描述的相同的编码。基于该编码,来自闪存控制器320的未修改数据或者来自加密/解密引擎350的解密数据将被MUX 361选择,以发送到SDRAM控制器310。如果编码指示执行解密,则加密/解密引擎350将被控制成从闪存控制器320接受该数据。一旦加密/解密引擎350从闪存控制器320接受了数据,它就执行数据解密,将结果发送到SDRAM控制器310,并等待SDRAM控制器310接受该数据。编码还将指示是否需要对传送到SDRAM的数据进行签名生成。如由编码的SES[0:2]字段所指示的,八个签名引擎340中的一个被控制成更新其CRC/校验和签名值。签名生成总是对解密的数据进行的。因此签名引擎340被控制成在来自闪存控制器320的数据或者来自加密/解密引擎350的解密结果之间进行选择,以更新数据完整性签名值。与数据从闪存控制器或者加密/解密引擎350发送到SDRAM控制器310并行地,数据还将发送到所选的签名引擎340。一旦所选的签名引擎340看到数据被SDRAM控制器310接受,就利用该数据更新当前的CRC/校验和签名。最后,八个数据完整性签名中一个的当前值可以通过耦合383被软件选择并读取。这个值可以通过软件与从闪存存储器恢复到SDRAM的备份签名进行比较。这可以用来验证在数据备份或者恢复的时候没有发生数据错误。
图5是电力隔离与备份系统的框图。在图5中,隔离与备份系统500包括:集成电路510、电力控制器550、SDRAM 525和非易失性存储器(例如,闪存)535。集成电路(IC)510包括SDRAM子系统515、控制器540、时钟发生器541和其它电路511。SDRAM子系统515包括SDRAM控制器520、非易失性存储器控制器530和数据操作装置570。其它电路511可以包括临时储存装置512(例如,高速缓冲存储器、缓冲器,等等)。SDRAM控制器520经接口521与SDRAM525接口并对其进行控制。非易失性存储器控制器530经接口531与非易失性存储器535接口并对其进行控制。SDRAM子系统515(及由此还有SDRAM控制器520、非易失性存储器控制器530和数据操作装置570)操作性地耦合到控制器540、时钟发生器541、其它电路511和临时储存装置512。时钟发生器541操作性地耦合到控制器540和其它电路511。
电力控制器550向IC 510提供电力供给A(PWRA)560。电力控制器550向SDRAM子系统515提供电力供给B(PWRB)561。电力控制器550向SDRAM 525提供电力供给C(PWRC)562。电力控制器550向非易失性存储器535提供电力供给D(PWRD)563。电力控制器550向控制器540提供电力故障信号565。电力控制器550还操作性地通过信号566耦合到SDRAM子系统。
在一种实施方式中,当电力控制器550检测到电力故障情况(即将发生的电力故障或者已有的电力故障)时,电力控制器550通过电力故障信号565向IC 510通知这种情况。这将起动电力隔离序列,以隔离SDRAM子系统515与IC 510的其余部分,尤其是其它电路511。在一种实施方式中,整个电力隔离序列是被硬件(例如,控制器540、SDRAM子系统515、或者控制器540和SDRAM子系统515二者)控制的,而没有来自软件的交互。
一旦接收到电力故障情况的通知,连接到SDRAM子系统515的所有接口(例如,到其它电路511的接口)就将中断。片上临时储存装置512将被转储清除。在图5中,应当理解,尽管临时储存装置512示为在SDRAM子系统515的外面,但是临时储存装置512也可以是SDRAM子系统515的一部分。在一个例子中,临时储存装置512可以是高速缓冲存储器(例如,一级高速缓冲存储器、二级高速缓冲存储器、三级高速缓冲存储器)、记入缓冲器等。
一旦临时储存装置512被转储清除,连接到SDRAM子系统515的逻辑就指示用于转储清除的接口何时已经中断。一旦中断,这些接口就不再接受任何新的循环。一旦所有接口都中断了,外部设备和内部核心逻辑(即,其它电路511)所需的输入就被锁存,使得当隔离发生时,它们的状态将不会丢失。输入被锁存后不再需要的时钟被断开。SDRAM子系统将切换到内部生成的时钟,或者由与SDRAM子系统515共享电力的时钟发生器(例如,时钟发生器541)生成的时钟。在这之后,存储器备份不需要的、到SDRAM子系统515的输入被隔离。在一种实施方式中,这些输入被驱动至无效状态。
在输入的隔离完成之后,SDRAM子系统515(或者控制器540)向电力控制器550发信号(例如,利用信号566),以去除PWRA 560。这导致,除SDRAM子系统515之外,到IC 510全部的电力被断开。SDRAM子系统515位于至少与其它电路511分开的电力层上。这使得对于SDRAM子系统的电力能够保持(即,通过PWRB 161),直到对于隔离与备份系统500的电力完全失去。
除了控制到除SDRAM子系统515(及SDRAM子系统515所需的任何其它逻辑)之外所有其它电路的电力的隔离和去除,一旦接口已经中断而且临时储存装置512被转储清除,内部的存储器备份逻辑就将开始把数据从SDRAM 515移到非易失性存储器535。在一种实施方式中,这些是在PWRA去除后整个芯片上运行的仅有的循环。
在一种实施方式中,当数据分别从非易失性存储器535移到SDRAM 525或者从SDRAM 525移到非易失性存储器535时,它可以被数据操作装置570操作。数据操作装置570以与先前参考图3A和3B的数据操作系统300所描述的相同方式被配置、操作和起作用。因此,简而言之,数据操作装置570可以配置成加密/解密数据和/或计算/检查数据完整性签名。在一种实施方式中,数据操作装置570的功能、数据流和配置可以在PWRA 560断开的时候执行(例如,为了保存加密的数据和/或计算并存储数据完整性签名)。在另一种实施方式中,数据操作装置570的功能、数据流和配置可以在PWRA 560接通的时候执行(例如,为了恢复加密的数据和/或计算并存储数据完整性签名)。
以上所述的方法、系统和设备可以在计算机系统中实现或者由计算机系统存储。以上所述的方法还可以存储到计算机可读介质上。在此所述的设备、电路和系统可以利用本领域中可以获得的计算机辅助设计工具来实现,并且由包含这种电路的软件描述的计算机可读文件来体现。这包括,但不限于,隔离与备份系统100和500、IC 110和510、电力控制器150和550、SDRAM子系统115和515及其部件。这些软件描述可以是:行为、寄存器传送、逻辑部件、晶体管和布局几何结构级描述。此外,该软件描述还可以存储到存储介质上或者被载波传送。
可以实现这种描述的数据格式包括,但不限于:支持如C那样的行为语言的格式、支持如Verilog和VHDL那样的寄存器传送级(RTL)语言的格式、支持几何结构描述语言(例如GDSII、GDSIII、GDSIV、CIF和MEBES)的格式及其它合适的格式与语言。此外,在机器可读介质上的这种文件的数据传输可以在互联网上或者例如经电子邮件在多种介质上电子地进行。应当指出,物理文件可以在机器可读介质上实现,其中的机器可读介质例如:4mm的磁带、8mm的磁带、3-1/2英寸的软盘介质、CD、DVD,等等。
图6示出了计算机系统的框图。计算机系统600包括通信接口620、处理系统630、存储系统640和用户接口660。处理系统630操作性地耦合到存储系统640。存储系统640存储软件650和数据670。处理系统630操作性地耦合到通信接口620和用户接口660。计算机系统600可以包括编程的通用计算机。计算机系统600可以包括微处理器。计算机系统600可以包括可编程的或者专用电路。计算机系统600可以在共同包括元件620-670的多个设备、处理器、储存装置和/或接口之间分布。
通信接口620可以包括网络接口、调制解调器、端口、总线、链路、收发器或者其它通信设备。通信接口620可以在多个通信设备之间分布。处理系统630可以包括微处理器、微控制器、逻辑电路或者其它处理设备。处理系统630可以在多个处理设备之间分布。用户接口660可以包括键盘、鼠标、语音识别接口、麦克风和扬声器、图形显示器、触摸屏或者其它类型的用户接口设备。用户接口660可以在多个接口设备之间分布。存储系统640可以包括盘、带、集成电路、RAM、ROM、网络储存装置、服务器或者其它存储器功能。存储系统640可以是计算机可读介质。存储系统640可以在多个存储器设备之间分布。
处理系统630从存储系统640获取软件650并执行软件650。处理系统可以获取并存储数据670。处理系统还可以经通信接口620获取并存储数据。处理系统630可以创建或者修改软件650或者数据670,以实现实际的结果。处理系统可以控制通信接口620或者用户接口660,以实现实际的结果。处理系统可以经通信接口620获取并执行远端存储的软件。
软件650和远端存储的软件可以包括操作系统、实用程序、驱动程序、联网软件及其它一般由计算机系统执行的软件。软件650可以包括应用程序、小程序、固件或者其它形式的一般由计算机系统执行的机器可读处理指令。当被处理系统630执行时,软件650或者远端存储的软件可以指示计算机系统600如在此所述地那样操作。
以上对本发明的描述是为了说明和描述而给出的。它不意图是详尽的或者要将本发明限定到所公开的精确形式,而且,根据以上教导,其它修改与变体也是可能的。实施方式的选择和描述是为了最好地解释本发明的原理及其实践应用,由此使本领域其他技术人员能够以多种实施方式和多种修改最好地利用本发明,以适于预期特定应用。希望所附权利要求被解释为包括除被现有技术限制之外的本发明的其它可选实施方式。