掌桥专利:专业的专利平台
掌桥专利
首页

具有安全远程更新能力的公钥存储

文献发布时间:2023-06-19 18:35:48


具有安全远程更新能力的公钥存储

技术领域

本文公开的至少一些实施例大体上涉及存储器装置,且更具体地但不限于提供用于更新由存储器装置存储的公钥的安全机制。

背景技术

存储器子系统可包含存储数据的一或多个存储器装置。存储器装置可以是例如非易失性存储器装置和易失性存储区域装置。主机系统可利用存储器子系统以在存储器装置处存储数据以及从存储器装置检索数据。

发明内容

本申请的一方面涉及一种存储器装置,其包括:存储阵列,所述存储阵列包含第一区域和密钥表,所述第一区域存储与服务器相关联的服务器公钥;以及控制器,其经配置以:从所述服务器接收消息,所述消息包含修改所述密钥表的命令;使用所述服务器公钥验证所述消息;以及基于所述消息修改所述密钥表。

本申请的另一方面涉及一种方法,其包括:从服务器接收消息,所述消息包含修改位于存储阵列中的密钥表的命令;从所述存储阵列的写入保护区域读取服务器公钥;使用所述服务器公钥验证所述消息,以及基于所述消息修改所述密钥表。

本申请的又一方面涉及一种非暂时性计算机可读存储媒体,其用于有形地存储能够由计算机处理器执行的计算机程序指令,所述计算机程序指令限定以下步骤:从服务器接收消息,所述消息包含修改位于存储阵列中的密钥表的命令;从所述存储阵列的写入保护区域读取服务器公钥;使用所述服务器公钥验证所述消息;以及基于所述消息修改所述密钥表。

附图说明

在附图的图中通过实例而非限制的方式说明了实施例,在附图中,相同参考标号指示类似的元件。

图1是根据一些实施例的存储器装置和远程服务器的框图。

图2是说明根据一些实施例的用于写入到公钥表的方法的流程图。

图3是说明根据一些实施例的用于更新公钥的方法的流程图。

图4是说明根据一些实施例的用于使用公钥表对消息进行签名的方法的流程图。

图5是说明根据一些实施例的存储器系统的框图。

图6是说明展示用在本公开的各种实施例中的客户端或服务器装置的实例的计算装置的框图。

具体实施方式

在实施例中,一种方法包含服务器或另一装置生成或接收一组初始公钥。服务器可将利用私钥签名的安全命令用于更新、添加或移除存储器装置存储的公钥。存储器装置通过例如确定服务器是否使用了服务器的安全私钥生成签名而验证命令。如果存储器装置验证了所述签名,则存储器装置可将所述公钥添加到公钥表。上述过程可另外应用于其它操作(例如,移除公钥、替换公钥等)。

在另一实施例中,一种方法包含客户端向服务器发出改变装置的公钥的请求。服务器验证所述请求(例如,经由签名验证)且返回包含新公钥和签名的替换消息。客户端将替换消息传输到存储器装置。存储器装置验证所述替换消息且在所述替换消息有效的情况下更新公钥。在一个实施例中,可用服务器的私钥对替换消息进行签名,同时存储器装置存储仅在存储器装置与服务器之间共享的第二公钥。在另一实施例中,可用客户端私钥对替换消息进行签名,且存储器装置存储对应的客户端公钥。

在另一实施例中,客户端可用其私钥对消息进行签名。客户端接着可通过总线将消息传输到存储器装置。存储器装置使用存储在其密钥表中的对应公钥验证所述消息且返回成功或失败消息。在一些实施例中,公钥的位置是固定的且为标准的;因此,客户端装置无需保存任何密钥,但可利用固定位置来提取密钥。

在另一实施例中,存储器装置将服务器公钥存储在跨装置标准化的存储器只读部分中。在一些实施例中,安全启动、操作系统和甚至应用程序全都可读取公钥。服务器存储对应私钥。存储器装置具有作为公钥表的专用存储器位置(例如,键槽(key slot))。安全启动、操作系统和甚至应用程序全都可读取所述公钥表。存储器装置使用服务器公钥来保护与服务器的通信。存储器装置可将公钥表中的公钥用于其它目的,例如在更新启动映像时检查启动映像的签名,以及在更新启动映像之前验证新的启动映像是否有效。不同键槽可指派给已获准使用键槽的不同用户。举例来说,槽一中的公钥可以是用于更新启动映像的密钥,且槽二中的公钥可以是更新操作系统驱动程序的密钥。每当需要改变对应于公钥表中的公钥的私钥时(例如,当丢失或泄密时),服务器可向存储器装置发送密钥更新命令以替换表中的公钥。在一些实施例中,写入保护由置于写入保护位置的跳线提供。因此,为了改变写入保护,用户需要以物理方式移除跳线,以使得存储器可写。接着,存储器装置可响应于来自服务器的命令而写入新公钥。因此,需要对装置进行物理接近以更新服务器的公钥,且更新通常只能在制造商的工厂中完成。

在以下实施例中,服务器公钥仅用于安全命令,例如,改变公钥表中的公钥。此类命令通常并不非常频繁地使用,且服务器公钥还可在必要时例如通过例行更新进行更新。公钥表中的密钥用于其它目的,例如当更新启动映像时验证启动映像的签名。每当必要时,例如对应私钥丢失或泄密或经由例行更新,可更新公钥表中的这些公钥。

图1是根据一些实施例的存储器装置和远程服务器的框图。

在所说明的实施例中,存储器装置100以通信方式耦合到服务器118。存储器装置100包含控制对存储阵列106的存取的控制器116。存储阵列106包含存储服务器公钥102的写入保护区域104。存储阵列106另外包含密钥表108、启动代码110、操作系统112和应用程序114。服务器118包含应用程序编程接口(API),例如API 122,以及公钥表120。在一些实施例中,存储器装置100可嵌入或以通信方式耦合到例如处理器或通用计算系统等客户端。

在实施例中,存储器装置100可包括非易失性存储器装置,例如SSD、快闪驱动器、通用串行总线(USB)快闪驱动器、eMMC驱动器、通用快闪存储(UFS)驱动器、安全数字(SD)卡或硬盘驱动器(HDD)。

在实施例中,存储阵列106可包括存储器单元阵列。在一个实施例中,存储阵列106可包括NAND快闪单元阵列。一个类型的存储器单元,例如单层级单元(SLC),可每单元存储一个位。其它类型的存储器单元,例如多层级单元(MLC)、三层级单元(TLC)、四层级单元(QLC)和五层级单元(PLC),可每单元存储多个位。在一些实施例中,存储阵列106可包含一或多个存储器单元阵列,例如SLC、MLC、TLC、QLC、PLC或这些的任何组合。在一些实施例中,存储阵列106可包含存储器单元的SLC部分、MLC部分、TLC部分、QLC部分和/或PLC部分。存储阵列106的存储器单元可分组为页,所述页可指用于存储数据的存储器装置的逻辑单元。对于一些类型的存储器(例如,NAND),页可经分组以形成块。

尽管描述了非易失性存储器装置,例如3D交叉点型和NAND型存储器(例如,2DNAND、3D NAND),但存储器装置100可基于任何其它类型的非易失性存储器,例如只读存储器(ROM)、相变存储器(PCM)、自选存储器、其它基于硫族化物的存储器、铁电晶体管随机存取存储器(FeTRAM)、铁电随机存取存储器(FeRAM)、磁随机存取存储器(MRAM)、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻性随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)、或非(NOR)快闪存储器、电可擦除可编程只读存储器(EEPROM)等。

在所说明的实施例中,存储阵列106包含写入保护区域104。在一个实施例中,当手动配置一或多个跳线(未说明)时,可将写入保护区域104设置为只写。在另一实施例中,可经由安全命令来启用和停用写入保护区域104。在一些实施例中,此安全命令可利用对应于由存储器装置100存储的公钥的私钥来签名。在一些实施例中,此公钥包括服务器公钥102。因此,存储器装置100可验证命令以启用或停用写入保护,且可在认证要如此做的命令之后允许对服务器公钥102的更新。在一些实施例中,可发出(利用服务器私钥签名的)第一安全命令以停用写入保护。接着可发出(利用服务器私钥签名的)第二安全命令以更新服务器公钥(本文中所描述)。最后,(利用服务器私钥签名的)第三安全命令重新启用写入保护,由此允许对服务器私钥的更新。虽然前文描述强调对写入保护区域104的更新,但相同方法可应用于更新密钥表108。在此类实施例中,密钥表108还可存储在写入保护区域104中。在一些实施例中,写入保护区域104可包括存储阵列106的只读部分。如所说明,写入保护区域104可存储服务器118的公钥。在实施例中,服务器在制造期间将服务器公钥102写入到写入保护区域104。在一些实施例中,服务器可周期性地更新服务器公钥102。在一些实施例中,写入保护区域104可跨类似于存储器装置100的所有存储器装置位于标准化位置中。在实施例中,存储器装置100上的所有应用程序可存取写入保护区域104。因此,启动代码110、操作系统112和应用程序114全都可存取写入保护区域104。

在所说明的实施例中,存储阵列106另外包含存储多个公钥值的密钥表108。在一个实施例中,密钥表108可包含可写入或修改的存储阵列106的第二区域。在一些实施例中,密钥表108可包含可由软件控制的写入保护区域。也就是说,在一些实施例中,控制器116可经配置以确认改变密钥表108的命令,之后发出此类命令。举例来说,在一些实施例中,控制器116可通过使用服务器公钥102验证命令中包含的数字签名来验证存取密钥表108的命令。由于对应于服务器公钥102的私钥仅由服务器118知晓,因此仅服务器118可发出修改密钥表108的命令。

在所说明的实施例中,虽然仅说明启动代码110、操作系统112和应用程序114,但其它类型的应用程序或代码可驻存在存储阵列106中。在所说明的实施例中,这些应用程序或代码全都可存取密钥表108且使用存储于密钥表108中的公钥。在一个实施例中,每个应用程序或代码与密钥表108中的给定槽相关联。因此,应用程序或代码可从密钥表108快速读取对应密钥且使用所述密钥来执行操作,例如执行签名验证。在一些实施例中,控制器116可执行此类操作。

在一些实施例中,密钥表108中的不同公钥可被指派给包含存储器装置100的客户端的不同用户。不同键槽可指派给已获准使用键槽的不同用户。举例来说,槽一中的公钥可以是用于更新安全启动映像的密钥,且槽2中的公钥可以是用于更新某一装置的操作系统驱动程序的公钥等。

在所说明的实施例中,包含存储器装置100的客户端可经由API 122将命令发到服务器118。在实施例中,API 122可包括允许呼叫方将请求发到服务器118的远程端点。在一个实施例中,包含存储器装置100的客户端可使用登录和密码或经由基于密钥的认证协议向服务器认证。在认证之后,客户端可发出初始化、更新、添加或移除与存储器装置100相关联的公钥表120中的公钥的请求。作为响应,服务器118可验证所述请求,更新其自身的公钥表120且将消息(例如,经由客户端)发回到存储器装置100以使存储器装置100更新其自身的密钥表108。下文的图2和3中提供这些操作的细节。

在所说明的实施例中,控制器116可另外经配置以从客户端接收请求以确认数字签名。在图4中所描绘的此类实施例中,控制器接收经签名消息且从密钥表108加载对应于发送方或数据的公钥。控制器116可接着确认所提供的数字签名是有效的,从而确认相关发送方是适当的发送方。在一些实施例中,签名验证可由客户端装置自身执行。在此情况下,客户端可简单地从密钥表108读取公钥且自己确认签名而不依赖于控制器116。

图2是说明根据一些实施例的用于写入到公钥表的方法的流程图。

在消息202中,客户端将消息传输到服务器,且服务器接收所述消息。在所说明的实施例中,客户端可包括以通信方式耦合到存储器装置和服务器的任何计算装置。举例来说,客户端可包括含有所述存储器装置的处理器或通用计算机系统。

在实施例中,所述消息包含一组公钥。在一些实施例中,所述一组公钥可包括一组初始公钥。在一些实施例中,当由制造商制造所说明的存储器装置时,客户端可提供所述一组初始公钥。在替代实施例中,服务器可不接收消息202。在此实施例中,服务器可生成其自身的一组公钥。如果实施,则客户端可使用私钥对消息202进行数字签名。在此类实施例中,服务器可存取本地存储的对应公钥或从受信任证书颁发机构(CA)检索此类公钥。

在框204中,服务器将所述一组公钥存留到存储装置。在一个实施例中,服务器维持公钥表。在此实施例中,服务器可将所述一组公钥中的每个公钥与给定客户端或存储器装置相关联。在一些实施例中,服务器可使每个公钥与客户端和存储器装置两者相关联。在一些实施例中,服务器可通过使公钥与唯一客户端标识符相关联而使公钥与客户端相关联。在一些实施例中,服务器可通过使公钥与在制造期间指派给存储器装置的唯一标识符相关联而使公钥与存储器装置相关联。

如通过图2的虚线所说明,可在框206之前的任何时间执行消息202和框204。在一个实施例中,客户端传输消息202,且服务器在存储器装置的初始制造期间执行框204。然而,在一些实施例中,可按需要重复消息202和框204。因此,在一些实施例中,服务器可在接收消息202和执行框204之后的任一点异步地发出框206(接下来描述)。

服务器在框206中生成安全消息,且在完成框204之后的某一点处传输安全消息208。如所论述,服务器可一次、多次以及在存储器装置的整个寿命中传输安全消息208。在所说明的实施例中,服务器将安全消息208(例如,通过存储器装置的控制器)直接传输到存储器装置。在一些实施例中,客户端可代表存储器装置来传达安全消息208。

安全消息208可采用各种形式。在实施例中,安全消息208可包括将新公钥存留到存储器装置的表的消息。在此实施例中,安全消息208可包括公钥的值。在另一实施例中,安全消息208可包括利用消息中包含的新公钥更新由存储器装置存储的现有公钥的消息。在此类实施例中,安全消息208可通过包含公钥的当前值或通过包含公钥的表偏移而标识公钥。在另一实施例中,安全消息208可包括移除公钥的消息。在此类实施例中,安全消息208可通过包含公钥的当前值或通过包含公钥的表偏移而标识公钥。当然,安全消息208可包括影响公钥的任何其它消息。

在实施例中,服务器对安全消息208进行数字签名以作为框206的部分。在一个实施例中,服务器使用服务器存储和保护的私钥(例如,在硬件安全模块中)对安全消息208进行数字签名。在一些实施例中,证书颁发机构(CA)存储对应公钥。

在框210中,存储器装置接收安全消息208,验证安全消息208的数字签名,且处理安全消息208。在一个实施例中,存储器装置可直接从服务器接收安全消息208。在另一实施例中,客户端可接收安全消息208且将安全消息208转发到存储器装置。

在一个实施例中,存储器装置可通过加载服务器的公钥来验证安全消息208的数字签名。在一个实施例中,存储器装置将公钥存储在存储阵列的写入保护区域中。因此,在一些实施例中,存储器装置不需要网络访问来加载公钥且可直接在存储器装置上验证消息208的签名。在其它实施例中,存储器装置可从CA或类似实体检索公钥。在一些实施例中,存储器装置可执行这两个操作。举例来说,存储器装置可首先试着从CA读取服务器公钥,且后退以加载本地存储的服务器公钥。值得注意的是,由于服务器公钥存储于存储器装置的安全区域中,因此存储器装置可合理地确保服务器公钥是有效的。

在实施例中,如果存储器装置无法验证安全消息208的签名,则存储器装置可忽略安全消息208。如果存储器装置验证了安全消息的数字签名,则存储器装置可继续处理所述消息。在一个实施例中,控制器可存储各种微码或指令以处理每个类型的消息(例如,以更新、移除或添加公钥)。为了更新和移除命令,存储器装置可基于安全消息208中的公钥的标识符来标识表中的现有公钥,且分别替换或移除所述公钥。对于插入/添加命令,存储器装置可将安全消息208中的公钥插入到表中。在一些实施例中,存储器装置可将公钥插入到表的末端。

在处理安全消息208之后,存储器装置可将确认消息212传输到服务器。在一些实施例中,传输确认消息212可以是任选的。在一个实施例中,确认消息212可包含成功或失败指示符(例如,标志)。在一个实施例中,响应于确认消息212,服务器可更新其自身的公钥表。举例来说,如果服务器请求存储器装置移除安全消息208中的公钥,则服务器可延迟移除其自身的公钥副本,直到接收到确认消息212。服务器可采用类似的延迟机制以用于更新和插入/添加命令。以此方式,服务器可确保其自身的公钥表与存储器装置的公钥表一致。

图3是说明根据一些实施例的用于更新公钥的方法的流程图。

客户端将密钥改变请求消息302传输到服务器。在一个实施例中,密钥改变请求消息302可包括对公钥或一组公钥执行操作的消息。在所说明的实施例中,密钥改变请求消息302可包括更新服务器存留的公钥、将新公钥添加到服务器的公钥表或从服务器移除公钥的命令。

如果密钥改变请求消息302是更新或移除公钥的命令,则所述命令可包含公钥的标识符。在一个实施例中,公钥的标识符可包括公钥自身的一部分。举例来说,公钥的标识符可包括经基64编码的瑞维斯特-莎米尔-艾德曼(base 64-encoded Rivest-Shamir-Adleman)公钥。在其它实施例中,公钥的标识符可包括由服务器指派的唯一值(例如,公钥在公钥数据库中的索引)。如果密钥改变请求消息302是更新公钥的命令,则所述消息可另外包含应替换当前所存储公钥的公钥。

如果密钥改变请求消息302是添加公钥的命令,则所述命令可包含公钥值本身。在两个情境中,客户端可如先前所描述对命令进行数字签名。在其它实施例中,客户端可在发出密钥改变请求消息302之前通过服务器认证,且例如传输层安全(TLS)会话等受信任会话可保护密钥改变请求消息302。服务器可实施各种其它技术来认证和授权客户端和密钥改变请求消息302。

在框304中,服务器验证且处理所述消息。在一个实施例中,服务器可首先确认密钥改变请求消息302的数字签名。如果服务器无法确认数字签名,则服务器可返回错误消息(未说明)且忽略进一步处理。在实施例中,服务器可进一步基于与包含操作客户端的用户(或客户端本身)的组织相关联的一组权限来确认已认证用户经授权以改变或添加公钥。

在确认密钥改变请求消息302有效且已授权之后,服务器接着可继续处理密钥改变请求消息302。服务器可根据消息的类型来处理密钥改变请求消息302。对于更新消息,服务器可存取当前存储的公钥,且利用更新命令中包含的新公钥替换或以其它方式更新当前存储的密钥。对于添加公钥的消息,服务器可将新公钥与客户端或存储器装置相关联(如先前所论述)且将新公钥存留到数据库表或其它所存储媒体。响应于移除消息,服务器可移除标识的公钥。如所论述,在一些实施例中,可缓冲或以其它方式延迟这些操作,直到接收到确认。

最后,在框304中,服务器生成对应于密钥改变请求消息302的安全命令。因此,如果客户端传输更新公钥的密钥改变请求消息302,则服务器生成对应安全消息208以传输到存储器装置。作为响应,在(任选地)返回确认消息212之前,存储器装置在框210中验证安全消息208且处理安全消息208。消息208和212以及框210的细节已在图2中描述且此处不再重复。

图4是说明根据一些实施例的用于使用公钥表对消息进行签名的方法的流程图。

在框204中,客户端生成消息。在一个实施例中,所述消息可包括任何消息,且对消息的类型没有限制。举例来说,所述消息可包括支付请求、电子邮件、低层级系统控制消息等。在一个实施例中,客户端使用私钥对所述消息进行签名。在一个实施例中,客户端将数字签名添加到消息以作为签名过程的部分。

在一个实施例中,客户端可将经签名消息404传输到存储器装置。在一个实施例中,存储器装置可将经签名消息404归于客户端。在实施例中,经签名消息404可包含允许存储器装置标识发送方的属性信息。在其它实施例中,存储器装置可基于经签名消息404的传输性质(例如,媒体接入控制地址、端口编号等)而标识发送方。

在框406中,存储器装置基于发送方的身份而标识公钥表中的公钥。举例来说,如果客户端包括操作系统,则存储器装置可从公钥表加载对应的操作系统公钥。在加载公钥之后,存储器装置可验证经签名消息404中包含的数字签名。在一个实施例中,存储器装置使用所标识的公钥来验证数字签名。

响应于框406中的验证,存储器装置可响应于验证而相应地返回状态消息408,所述状态消息指示验证成功还是失败。因此,在所说明的实施例中,存储器装置可验证经签名消息404的数字签名且因此确认客户端的私钥对应于由服务器设置的公钥,如图2和3中所描述。以此方式,未经授权的客户端无法发消息。具体地说,在一些实施例中,可要求计算系统的所有客户端通过图4的过程确认其数据,之后继续。举例来说,通用启动层可在继续进行之前使用图4的过程确认其通用启动映像。

图5是说明根据一些实施例的存储器系统的框图。图5的各种特征已逻辑地描述于图1的描述中,且那些特征以全文引用的方式并入本文中。

如图5中所说明,计算系统500包含经由总线518以通信方式耦合到存储器系统504的主机处理器502。存储器系统504包括控制器506,其经由总线/接口516以通信方式耦合到形成存储器阵列的一或多个存储器存储体514A到514N。如所说明,控制器506包含本地高速缓存器505、固件510和错误校正码(ECC)模块512。

在所说明的实施例中,主机处理器502可包括任何类型的计算机处理器,例如中央处理单元(CPU)、图形处理单元(GPU)或其它类型的通用或专用计算装置。主机处理器502包含允许在主机处理器502与存储器系统504之间传输地址、用户和控制数据的一或多个输出端口。在所说明的实施例中,经由总线518执行此通信。在一个实施例中,总线518包括输入/输出(I/O)总线或类似类型的总线。

存储器系统504负责管理一或多个存储器存储体514A到514N。在一个实施例中,存储体514A到514N包括NAND快闪裸片或非易失性存储器的其它配置。在一个实施例中,存储器存储体514A到514N包括存储器阵列。

存储体514A到514N由控制器506管理。在一些实施例中,控制器506包括经配置以传达往来存储体514A到514N的存取的计算装置。在一个实施例中,控制器506包括安装在容纳存储体514A到514N的印刷电路板上的ASIC或其它电路系统。在一些实施例中,控制器506可物理上与存储体514A到514N分离。控制器506通过接口516与存储体514A到514N通信。在一些实施例中,此接口516包括物理上有线的(例如,带迹线的)接口。在其它实施例中,接口516包括用于与存储体514A到514N通信的标准总线。

控制器506包括各种模块505到512。在一个实施例中,各种模块505到512包括各种物理上不同的模块或电路。在其它实施例中,模块505到512可完全(或部分)实施于软件或固件中。

如所说明,固件510包括控制器的核心且管理控制器506的所有操作。固件510可实施上文所描述的方法中的一些或全部。

图6是说明展示用在本公开的各种实施例中的客户端或服务器装置的实例的计算装置的框图。

取决于装置600的部署或使用,装置600可包含比图6所展示的组件更多或更少的组件。举例来说,如机架式服务器的服务器计算装置可不包含音频接口652、显示器654、小键盘656、照明器658、触觉接口662、全球定位系统(GPS)接收器664或相机/传感器666。一些装置可包含未展示的额外组件,例如图形处理单元(GPU)装置、密码协同处理器、人工智能(AI)加速器或其它外围装置。

如图中所展示,装置600包含中央处理单元CPU 622,其经由总线624与大容量存储器630通信。装置600还包含网络接口650、音频接口652、显示器654、小键盘656、照明器658、输入/输出接口660、触觉接口662、GPS接收器664和相机或其它光学、热或电磁传感器,如相机/传感器666。装置600可包含一个相机/传感器或多个相机/传感器666。装置600上的相机/传感器666的定位可根据装置600的型号、根据装置600的能力等或其某种组合而改变。

在一些实施例中,CPU 622可包括通用CPU。CPU 622可包括单核或多核CPU。CPU622可包括芯片上系统(SoC)或类似嵌入式系统。在一些实施例中,GPU可代替CPU 622使用或与其结合使用。大容量存储器630可包括动态随机存取存储器(DRAM)装置、静态随机存取存储器装置(SRAM)或快闪(例如,NAND快闪)存储器装置。在一些实施例中,大容量存储器630可包括此类存储器类型的组合。在一个实施例中,总线624可包括外围组件互连高速(PCIe)总线。在一些实施例中,总线624可包括多个总线而不是单个总线。

大容量存储器630说明用于存储例如计算机可读指令、数据结构、程序模块或其它数据的信息的计算机存储媒体的另一实例。大容量存储器630存储基本输入/输出系统BIOS640,以用于控制装置600的低层级操作。在所说明的实施例中,BIOS 640可存储在例如ROM634的只读存储器(ROM)中。大容量存储器还存储用于控制装置600的操作的操作系统641。

应用程序642可包含计算机可执行指令,所述计算机可执行指令在由装置600执行时执行先前在先前附图的描述中所描述的任一方法(或方法的部分)。在一些实施例中,实施方法实施例的软件或程序可从硬盘驱动器(未说明)读取且由CPU 622临时存储在RAM632中。CPU 622接着可从RAM 632读取软件或数据,处理所述软件或数据,且再次将其存储在RAM 632中。

装置600可任选地与基站(未展示)或直接与另一计算装置通信。网络接口650有时被称为收发器、收发装置或网络接口卡(NIC)。

音频接口652产生且接收音频信号,例如人类语音的声音。举例来说,音频接口652可耦合到扬声器和麦克风(未展示)以实现与其他人的通信或生成对某一动作的音频确认。显示器654可以是液晶显示器(LCD)、气体等离子体、发光二极管(LED)或与计算装置一起使用的任何其它类型的显示器。显示器654还可包含触敏屏幕,其经布置以从例如触控笔或人的手指等对象接收输入。

小键盘656可包括经布置以从用户接收输入的任何输入装置。照明器658可提供状态指示或提供光。

装置600还包括用于使用如USB、红外、

GPS接收器664可确定装置600在地球表面上的物理坐标,所述GPS收发器通常将位置输出为经度纬度值。GPS接收器664还可使用其它地理定位机制,包含但不限于三角测量、辅助GPS(AGPS)、E-OTD、CI、SAI、ETA、BSS等,以进一步确定装置600在地球表面上的物理位置。然而,在一个实施例中,装置600可通过其它组件提供可用以确定装置的物理位置的其它信息,包含例如MAC地址、IP地址等。

已在针对计算机存储器内的数据位的操作的算法和符号表示方面呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域中的技术人员用以将其工作的主旨最有效地传达给所属领域的其他技术人员的方式。算法在此处以及通常被认为是产生所要结果的操作的自洽序列。所述操作是要求对物理量进行物理操控的操作。这些量通常但未必呈能够被存储、组合、比较和以其它方式操控的电或磁信号的形式。有时,已证明主要出于通用的原因将这些信号称为位、值、元件、符号、字符、项、数字等是方便的。

然而,应牢记,所有这些和类似术语应与适当物理量相关联,且仅仅是应用于这些量的方便标签。本公开可指计算机系统或类似电子计算装置的动作和过程,其操控且将计算机系统的寄存器和存储器内表示为物理(电子)量的数据变换成类似地表示为计算机系统存储器或寄存器或其它此类信息存储系统内的物理量的其它数据。

本公开还涉及用于执行本文中的操作的设备。此设备可出于既定目的而专门构造,或其可包含由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可存储在计算机可读存储媒体中,例如但不限于任何类型的盘(包含软盘、光盘、CD-ROM和磁性光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡或适合存储电子指令的任何类型的媒体,各个媒体耦合到计算机系统总线。

本文中呈现的算法和显示在本质上不与任何计算机或其它设备相关。各种通用系统可与根据本文中的教示的程序一起使用,或可证明构建更专用设备以执行所述方法是方便的。将如下文描述中所阐述的那样来呈现多种这些系统的结构。另外,未参考任何编程语言来描述本公开。应了解,可使用各种编程语言来实施本文中所描述的本公开的教示。

本公开可提供为计算机程序产品或软件,其可包含机器可读媒体,所述机器可读媒体上存储有指令,所述指令可用于编程计算机系统(或其它电子装置)以执行根据本公开的过程。机器可读媒体包含用于以机器(例如,计算机)可读形式存储信息的任何机构。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。

在此描述中,为简化描述,各种功能和操作可被描述为由计算机指令执行或引起。然而,所属领域的技术人员将认识到,此类表达的意图在于,所述功能因一或多个控制器或处理器(例如,微处理器)执行计算机指令而产生。替代地或组合地,所述功能和操作可在存在或不存在软件指令的情况下使用专用电路系统实施,例如使用专用集成电路(ASIC)或现场可编程门阵列(FPGA)来实施。可在无软件指令的情况下或结合软件指令使用硬接线电路系统实施实施例。因此,技术既不限于硬件电路系统和软件的任何特定组合,也不限于由数据处理系统执行的指令的任何特定来源。

在前述说明书中,已参考其特定实例实施例描述了本公开的实施例。应显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和附图。

技术分类

06120115624739