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

确保替代存储器装置密钥

文献发布时间:2023-06-19 19:28:50


确保替代存储器装置密钥

技术领域

本文所公开的至少一些实施例大体上涉及半导体装置,且具体来说,涉及改进对快闪存储器装置的更新。

背景技术

一些存储器装置可存储密码密钥以执行密码操作。在这些密钥的更新期间,存储器装置不能防止密钥中的逻辑错误(例如,格式错误的密钥)。如果将无效密钥写入到存储器装置,则存储器装置可能无法正常工作并且需要物理复位,这是不可能的。

发明内容

在一个方面中,本申请提供一种存储器装置,其包括:存储阵列,所述存储阵列存储第一密码密钥;及处理器,所述处理器经配置以:从主机处理器接收命令,所述命令包含第二密码密钥、第一签名、第二签名及至少一个字段;使用所述第二密码密钥及所述至少一个字段确定所述第一签名有效;使用所述第一密码密钥、所述第一签名及所述至少一个字段确定所述第二签名有效;及在确定所述第一签名及第二签名两者有效之后,用所述第二密码密钥替代所述第一密码密钥。

在另一方面中,本申请提供一种方法,其包括:将第一密码密钥存储在存储阵列中;从主机处理器接收命令,所述命令包含第二密码密钥、第一签名、第二签名及至少一个字段;使用所述第二密码密钥及所述至少一个字段确定所述第一签名有效;使用所述第一密码密钥、所述第一签名及所述至少一个字段确定所述第二签名有效;及在确定所述第一签名及第二签名两者有效之后,用所述第二密码密钥替代所述第一密码密钥。

在另一方面中,本申请提供一种非暂时性计算机可读存储介质,其用于有形地存储能够由计算机处理器执行的计算机程序指令,所述计算机程序指令限定以下步骤:将第一密码密钥存储在存储阵列中;从主机处理器接收命令,所述命令包含第二密码密钥、第一签名、第二签名及至少一个字段;使用所述第二密码密钥及所述至少一个字段确定所述第一签名有效;使用所述第一密码密钥、所述第一签名及所述至少一个字段确定所述第二签名有效;及在确定所述第一签名及第二签名两者有效之后,用所述第二密码密钥替代所述第一密码密钥。

附图说明

图1是根据一些实例实施例的网络系统的框图。

图2是说明根据一些实例实施例的用于确保存储器装置中的密钥更新的方法的流程图。

图3是说明根据一些实例实施例的用于生成客户签名的方法的流程图。

图4是说明根据一些实施例的用于对替代密钥命令进行签名的方法的流程图。

图5是说明根据一些实例实施例的用于在存储器装置处验证替代密钥命令的方法的流程图。

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

图7是说明根据一些实例实施例的计算装置的框图,其展示计算装置的实例实施例。

具体实施方式

实例实施例描述用于确保在存储器装置中适当地替代密钥的技术。在实例实施例中,存储器装置可存储例如非对称密钥对的公钥的密码密钥并且使用此密钥校验签名且执行其它操作。例如,在制造期间,制造商可将公钥写入到存储器装置。存储器装置可使用此公钥来验证用对应制造商的私钥签名的固件更新。在一些情形中,存储器装置的所有者可能希望用其自身的公钥替代公钥。然而,在此替代期间可能产生各种问题。举例来说,如果新公钥格式错误或另外不正确,则覆写有效密钥将导致装置无法正常工作(例如,装置无法验证签名)。因此,在此情形下,当前存储器装置将需要手动地复位到默认状态。在某些设置中,此复位可能不方便或不可能。

实例实施例通过提供改进的替代命令及过程来弥补这个缺陷,以确保在覆盖现有密钥之前新密钥有效。简单来说,替代命令包含新公钥并且使用对应私钥进行签名,将签名添加到中间命令。然后通过当前活动公钥的所有者对中间命令进行签名以确保允许命令。仅当验证两个签名时,存储器装置才会保持新密钥,从而确保仅使用有效且授权的密钥来覆写现有密钥。

在实施例中,公开一种存储器装置,所述存储器装置包含存储阵列,所述存储阵列存储第一密码密钥;以及处理器。在此实施例中,处理器经配置以从主机处理器接收命令,所述命令包含第二密码密钥、第一签名、第二签名和至少一个字段;使用第二密码密钥及至少一个字段确定第一签名有效;使用第一密码密钥、第一签名及至少一个字段确定第二签名有效;及在确定第一签名及第二签名两者有效之后,用第二密码密钥替代第一密码密钥。

在另一实施例中,公开一种方法,包含将第一密码密钥存储在存储阵列中;从主机处理器接收命令,所述命令包含第二密码密钥、第一签名、第二签名及至少一个字段;使用第二密码密钥及至少一个字段确定第一签名有效;确定第一签名有效包括使用第二密码密钥及至少一个字段计算第一散列,使用第二密码密钥对第一签名进行解密以生成第二散列,及当第一散列及第二散列相等时确定第一签名有效。

在另一实施例中,一种用于有形地存储能够由计算机处理器执行的计算机程序指令的非暂时性计算机可读存储介质。在此实施例中,计算机程序指令可限定以下步骤:将第一密码密钥存储在存储阵列中;从主机处理器接收命令,所述命令包含第二密码密钥、第一签名、第二签名及至少一个字段;使用第二密码密钥及至少一个字段确定第一签名有效;使用第一密码密钥、第一签名及至少一个字段确定第二签名有效;及在确定第一签名及第二签名两者有效之后,用第二密码密钥替代第一密码密钥。

在实施例中,确定第二签名有效包含使用第二密码密钥、至少一个字段及第一签名计算第一散列;使用第一密码密钥对第二签名进行解密以生成第二散列;及当第一散列及第二散列相等时确定第二签名有效。

一些实施例进一步经配置以在确定第一签名无效或第二签名无效之后返回错误代码。一些实施例进一步经配置以在返回错误代码之后防止覆写第一密码密钥。在一些实施例中,错误代码指示第一签名或第二签名是否无效。在一些实施例中,第一密码密钥包含第一公钥,并且第二密码密钥包含第二公钥。在一些实施例中,使用椭圆曲线数字签名算法(ECDSA)验证第一签名及第二签名。

图1是根据一些实例实施例的网络系统的框图。

网络系统100包含存储器装置102、主机处理器104及密钥管理服务器(KMS 106)。存储器装置102可包含密码处理器110及密钥存储装置108。存储器装置102可包含额外组件,例如图5中论述的那些组件。主机处理器104可包含密钥存储装置112、命令产生器114及网络接口116。主机处理器104可包含额外组件,例如图6中论述的那些组件。KMS 106可包含密钥存储装置118、签名产生器120、验证器122及网络接口124。

在所说明的实施例中,存储器装置102可包括任何持久性存储器装置,例如,快闪存储装置或其它固态存储装置。存储器装置102可包含持久地存储数据的存储阵列或其它类型的存储分区。如所说明,此存储阵列可包含密钥存储装置108。在一些实施例中,密钥存储装置108可包括较大存储阵列的专用区域。在其它实施例中,密钥存储装置108可包括较小专用存储区域。在一些实施例中,密钥存储装置108可为写入保护的并且仅可经由安全命令写入。在实施例中,安全命令包括签名命令。在一些实施例中,签名命令包含使用与存储在密钥存储装置108中的密钥相对应的密钥生成的签名。在实施例中,使用与存储在密钥存储装置108中的公钥相对应的私钥生成签名。在一些实施例中,密钥存储装置108可存储多个密钥(例如,公钥)。在一些实施例中,密钥存储装置108可存储在从制造释放后制造商生成的公钥。在实施例中,存储器装置102支持允许更新存储在密钥存储装置108中的密钥的命令。

在实施例中,控制器(未说明)可接收及处理命令,包含替代密钥命令。在一些实施例中,控制器可将密码操作分流到密码处理器110。密码操作的实例包含签名验证、散列运算、随机数生成、加密、解密等。在一些实施例中,控制器可将签名命令转发到密码处理器110以进行签名验证。在实施例中,密码处理器110可使用存储在密钥存储装置108中的公钥验证包含在命令中的签名。可使用各种数字签名算法,例如Rivest-Shamir-Adleman(RSA)、数字签名算法(DSA)、椭圆曲线数字签名算法(ECDSA),或爱德华兹曲线数字签名算法(EdDSA)算法。

如在图5中更详细地论述,存储器装置102可从主机处理器104接收双签名替代密钥命令。控制器可将双签名替代密钥命令转发到密码处理器110以进行签名验证。作为响应,密码处理器110可使用包含在命令中的公钥及至少一个其它字段校验客户签名。接下来,密码处理器110可使用存储在密钥存储装置108中的公钥及命令的内容验证服务器签名。当两个签名验证都通过时,密码处理器110可将包含在双签名替代密钥命令中的公钥保持到密钥存储装置108或将验证结果返回到控制器,其中控制器可将双签名替代密钥命令中的公钥保持到密钥存储装置108。在任一情形中,存储器装置102随后将返回指示写入是否成功的状态代码。在一些实施例中,当签名验证失败时,存储器装置102可将错误代码返回到主机处理器104。在一些实施例中,错误代码可指示客户生成的签名或服务器生成的签名是否无效。举例来说,错误代码可指示客户端提供的签名无效。在此情形中,用于验证客户端生成的签名的客户提供的公钥可能损坏或以其它方式格式错误。因此,主机处理器104可使用此错误代码来触发新密钥生成过程或以其它方式处理此种错误条件。然而,如果错误代码指示服务器签名验证失败,则此错误代码可指示未授权主机处理器104改变密钥。

在实施例中,主机处理器104包含密钥存储装置112。在一些实施例中,密钥存储装置112可包括安全存储位置(例如,硬件安全模块)。在其它实施例中,密钥存储装置112可包括用于存储例如公钥-私钥对的密码密钥的文件系统位置。主机处理器104另外包含命令产生器114,所述命令产生器经配置以生成命令以发布到存储器装置102。在一些实施例中,命令产生器114可包括专用硬件装置。在其它实施例中,命令产生器114可包括在通用控制器或微处理器上运行的软件或固件例程。命令产生器114可使用存储在密钥存储装置112中的密钥生成替代密钥命令,如本文所描述。图3的描述提供关于此操作的进一步细节。简单来说,命令产生器114可从密钥存储装置112读取公钥且将公钥与其它字段组合。命令产生器114随后可使用公钥及其它字段作为输入数据及对应于公钥的存储在密钥存储装置112中的私钥作为签名密钥来生成数字签名。命令产生器114可经由网络接口116将命令传输到KMS 106。在实施例中,命令产生器114可将客户签名的替代密钥命令(例如,中间命令)传输到KMS 106以用于由KMS 106进行签名。在此实施例中,主机处理器104可将中间命令传输到KMS 106的指定端点(例如,网络地址)。在一些实施例中,主机处理器104可经由例如用户名/密码认证的各种机制向KMS 106认证其自身。在其它实施例中,KMS 106可通过使用公钥验证签名的中间命令来认证主机处理器104。在一些实施例中,KMS 106可经由证书颁发机构(CA)或另一第三方机构定位此公钥。

KMS 106包含用于从主机处理器104接收命令的网络接口124。网络接口124可将命令转发到验证器122以用于验证。在一些实施例中,验证器122可读取命令中的签名及命令中的公钥,并且验证签名。在此实施例中,在KMS 106对命令自身进行签名之前,验证器122因此可模拟存储器装置102的动作。然而,在一些实施例中,验证器122可为任选的。在验证(如果实施)之后,签名产生器120可生成服务器签名。在实施例中,签名产生器120可从密钥存储装置118读取私钥并且对从主机处理器104接收的全部命令进行签名。签名产生器120随后可将服务器生成的签名插入到命令中,并且经由网络接口124将命令返回到主机处理器104。如已经论述,主机处理器104随后可将双签名命令发布到存储器装置102。在以下图式中更详细地提供存储器装置102、主机处理器104及KMS 106的各种操作细节。

图2是说明根据一些实例实施例的用于确保存储器装置中的密钥更新的方法的流程图。

在框202中,方法200可包含生成中间替代密钥命令。图3提供框202的另外细节并且本文中不重复。简单来说,在框202中,方法200可生成客户生成的签名、公钥及零个或更多个其它字段。方法200可使用公钥及零个或更多个其它字段作为输入数据,及对应于公钥的私钥作为签名密钥来生成客户生成的签名。尽管非对称密钥对主要用作实例,但在整个公开内容中可使用其它密码密钥类型来生成数字签名。

在框204中,方法200可包含将中间替代密钥命令传输到KMS。在一些实施例中,KMS可暴露网络端点,例如表示状态转移(REST)或远程过程调用(RPC)端点。在框204中,方法200可通过调用端点将中间替代密钥命令传输到KMS。在一些实施例中,方法200可进一步包含在执行框204之前登录到KMS(例如,经由认证凭证)。

在框206中,KMS对替代密钥命令进行签名。图4的描述提供关于框206的另外细节并且本文中不重复。简单来说,KMS使用中间替代密钥命令作为输入数据及其自身的私钥生成签名。在实施例中,KMS可识别对应于中间替代密钥命令中的UID的私钥。一般来说,KMS可管理在制造期间创建的UID到私钥映射的表,并且在一些情形下可基于密钥改变而更新。KMS可从中间替代密钥命令提取UID,加载正确私钥且基于中间替代密钥命令使用校正私钥来生成签名。

在框208中,方法200可包含接收服务器签名。在实施例中,KMS仅将生成的签名返回到方法200(例如,如由主机处理器104执行)。在替代实施例中,KMS可生成新的替代密钥命令,所述新的替代密钥命令包含中间替代密钥命令及所生成的服务器签名。在此实施例中,KMS可返回全部新的替代密钥命令,包含客户生成的签名及服务器生成的签名两者。如果KMS返回全部命令,则方法200可绕过框210。

在框210中,方法200可包含将服务器签名添加到替代密钥命令。在实施例中,方法200可将服务器签名预置到中间替代密钥命令以生成最终替代密钥命令。因此,最终替代密钥命令可包含服务器生成的签名、客户生成的签名、客户公钥,及零个或更多个数据字段。

在框212中,方法200可包含将替代密钥命令发布到存储器装置。在实施例中,方法200可通过数据总线及/或接口,例如但不限于非易失性存储器高速(NVMe)或外围组件互连高速(PCIe)总线将最终替代密钥命令传输到存储器装置。

在框214中,存储器装置验证替代密钥命令。图5的描述提供关于框214的另外细节并且本文中不重复。简单来说存储器装置可验证服务器生成的签名及客户生成的签名两者,以确保适当地形成最终替代密钥命令中包含的公钥并且授权最终替代密钥命令的发布者替代密钥。

在框216中,方法200可包含响应于替代密钥命令而接收状态或错误代码。在一些实施例中,状态代码可包括写入最终替代密钥命令中的密钥,从而覆写先前存储的密钥的指示。举例来说,状态代码可包含所列举的返回值。在一些实施例中,错误代码可包括指示最终替代密钥命令为何失败的列举值。举例来说,值-1可指示客户签名无效,而值-2可指示服务器签名无效。

图3是说明根据一些实例实施例的用于生成客户签名的方法的流程图。

在框302中,方法300可包含生成替代密钥命令数据。

在实施例中,框302可包含生成密码密钥。在实施例中,密码密钥可为公钥。在实施例中,公钥可与对应私钥相关联。在另一实施例中,框302可包含从存储区域读取密钥(例如,公钥)。在此实施例中,可预先生成密钥。在框302中使用的密钥称为客户密码密钥或第二密码密钥。

在一些实施例中,替代密钥命令数据可包含一或多个额外字段。举例来说,替代密钥命令数据可包含请求或响应标志、配置数据、写入地址、单调计数器值、临时值或其它数据字段。特定类型的字段不是限制性的。在一些实施例中,密码密钥(PubK

在框304中,方法300可包含使用私钥从替代密钥命令数据生成签名。

在实施例中,方法300可利用数字签名算法,例如RSA、DSA、ECDSA、EdDSA或另一类似算法。在实施例中,方法300使用替代密钥命令数据作为签名算法的输入,并且使用与替代密钥命令数据中的公钥(PubK

在框306中,方法300可包含将签名及命令数据组合以形成替代密钥命令。在实施例中,方法300可将框304中生成的数字签名与替代密钥命令数据连接以生产具有形式:[c

图4是说明根据一些实施例的用于对替代密钥命令进行签名的方法的流程图。

在框402中,方法400可包含接收客户签名的替代密钥命令。如上文所描述,可将方法400执行为服务器端应用程序,所述服务器端应用程序通过例如REST或RPC端点等定义明确的端点接收网络请求。在所说明的实施例中,客户签名的替代密钥命令可对应于先前描述的中间替代密钥命令。在一些实施例中,中间替代密钥命令具有如先前所论述的形式[c

在框404中,方法400可包含验证客户签名的替代密钥命令。如所说明,框404可为任选的。如果实施,则方法400可提取客户签名(c

在框406中,方法400可包含从客户签名的替代密钥命令的字段生成服务器签名。方法400可首先加载私钥以用于签名。在一些实施例中,fields包含UID(UID∈fields),其中UID可包括存储器装置的固定长度唯一标识符。方法400可查询UID到私钥(或非对称密钥对)映射的表并且加载适当私钥。

接下来,方法400可准备消息以用于签名。在实施例中,用于签名的消息可包含全部中间替代密钥命令([c

在框408中,方法400可包含返回服务器签名。在一些实施例中,方法400可在框408中返回s

图5是说明根据一些实例实施例的用于在存储器装置处验证替代密钥命令的方法的流程图。

在框502中,方法500可包含接收双签名的替代密钥命令。如先前所论述,双签名的替代密钥可对应于在方法200或400中生成的最终替代密钥命令。在一个实施例中,双签名的替代密钥命令可具有形式[s

表1

特定大学、内容及位置不是限制性的。作为一个实例,值s

在框504中,方法500可包含验证客户签名。在实施例中,方法500首先从双签名的替代密钥命令中提取客户签名(c

接下来,为了验证消息,方法500可对客户签名(c

在框506中,方法500可基于客户签名是否有效而进行分支。如果否,则方法500可前进到框514,这可包含返回错误代码。在一些实施例中,错误代码可指示客户端生成的签名无效。在此情形中,用于验证客户端生成的签名的客户提供的公钥可能损坏或以其它方式格式错误。因此,主机处理器可使用此错误代码来触发新密钥生成过程或以其它方式处理此种错误条件。或者,如果方法500确定客户签名有效,则方法500可前进到框508。

在框508中,方法500可包含验证服务器签名。框508中的特定密码操作类似于框504的密码操作且在本文中不重复。然而,框508中的底层消息不同于框504中的底层消息。具体来说,使用客户公钥(PubK

在框510中,方法500可包含确定服务器签名是否有效。如果否,则方法500可前进到框514,这可包含返回错误代码。在一些实施例中,错误代码可指示服务器生成的签名无效。在此情形中,主机处理器可能无权更改密钥,因为服务器没有通过服务器签名“批准”请求。因此,如果服务器验证失败,则存储器装置可防止覆写当前密码密钥。或者,如果方法500确定客户签名有效,则方法500可前进到框516。

在框512中,方法500可包含用双签名的替代密钥命令中的新密码密钥覆写当前密码密钥。在实施例中,方法500可识别写入新密码密钥的存储器地址。在一些实施例中,可将新密码密钥写入到存储器地址,从而覆写当前存储的密钥。由于在框508中的服务器验证使用当前存储在存储器地址处的公钥执行,因此方法500可隐式地确认用有效密钥覆写适当密钥,由此防止停用存储器装置。

在框516中,方法500可包含返回成功状态代码。在一些实施例中,成功状态代码可包括写入最终替代密钥命令中的密钥,从而覆写先前存储的密钥的指示。举例来说,成功状态代码可包含所列举的返回值。

图6是说明根据本公开的一些实施例的存储器系统的框图。

如图6中所说明,计算系统600包含经由总线604以通信方式耦合到存储器装置102的主机处理器104。存储器装置102包括控制器606,所述控制器经由接口612以通信方式耦合到形成存储器阵列的一或多个存储器存储体(例如,存储体608A、存储体608B、存储体608C、存储体608D、存储体608N等)。如所说明,控制器606包含本地高速缓存614、固件616及ECC模块618。

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

存储器装置102负责管理一或多个存储器存储体(例如,存储体608A、存储体608B、存储体608C、存储体608D、存储体608N等)。在一个实施例中,存储器存储体(例如,存储体608A、存储体608B、存储体608C、存储体608D、存储体608N等)包括NAND快闪裸片或非易失性存储器的其它配置。在一个实施例中,存储器存储体(例如,存储体608A、存储体608B、存储体608C、存储体608D、存储体608N等)包括存储器阵列。

存储器存储体(例如,存储体608A、存储体608B、存储体608C、存储体608D、存储体608N等)由控制器606管理。在一些实施例中,控制器606包括计算装置,所述计算装置经配置以调解进出存储体(例如,存储体608A、存储体608B、存储体608C、存储体608D、存储体608N等)的访问。在一个实施例中,控制器606包括安装在容纳存储器存储体(例如,存储体608A、存储体608B、存储体608C、存储体608D、存储体608N等)的印刷电路板上的ASIC或其它电路系统。在一些实施例中,控制器606可与存储器存储体(例如,存储体608A、存储体608B、存储体608C、存储体608D、存储体608N等)物理地分离。控制器606通过接口612与存储器存储体(例如,存储体608A、存储体608B、存储体608C、存储体608D、存储体608N等)通信。在一些实施例中,此接口612包括物理上有线的(例如,带迹线的)接口。在其它实施例中,接口612包括用于与存储器存储体(例如,存储体608A、存储体608B、存储体608C、存储体608D、存储体608N等)通信的标准总线。

控制器606包括各种模块,包含本地高速缓存614、固件616及ECC模块618。在一个实施例中,各种模块(例如,本地高速缓存614、固件616及ECC模块618)包括各种物理上不同的模块或电路。在其它实施例中,模块(例如,本地高速缓存614、固件616及ECC模块618)可完全地(或部分地)实施于软件或固件中。

如所说明,固件616包括控制器的核心且管理控制器606的所有操作。固件616可实施上文所描述的方法中的一些或全部。具体来说,固件616可实施在前述图中描述的方法。

图7是说明计算装置700的框图,其展示用于本公开的各种实施例中的计算装置的实例实施例。

计算装置700可包含比图7中所展示的组件更多或更少的组件。举例来说,服务器计算装置可不包含音频接口、显示器、小键盘、照明器、触觉接口、GPS接收器、相机或传感器。

如图中所示,计算装置700包含经由总线724与大容量存储器730通信的处理单元,例如CPU 722。计算装置700还包含一或多个网络接口750、音频接口752、显示器754、小键盘756、照明器758、输入/输出接口760、触觉接口762、全球定位系统收发器(GPS收发器764)及例如相机或其它光学、热或电磁传感器的一或多个传感器766。一或多个传感器766在计算装置700上的定位可根据计算装置700型号、根据计算装置700能力等,或其某一组合而改变。

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

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

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

计算装置700还包括用于使用例如USB、红外、Bluetooth

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

大容量存储器730包含RAM 732、ROM 734及其它存储装置。大容量存储器730说明用于存储例如计算机可读指令、数据结构、程序模块或其它数据的信息的计算机存储介质的另一实例。大容量存储器730存储用于控制计算装置700的低水平操作的基本输入/输出系统(BIOS 740)。大容量存储器还存储用于控制计算装置700的操作的操作系统741。

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

本公开包含执行所述方法且实施上文所描述的系统的各种装置,包含执行这些方法的数据处理系统,及含有指令的计算机可读介质,所述指令当在数据处理系统上执行时使得系统执行这些方法。

描述及图式是说明性的且不应理解为限制性。描述许多具体细节以提供透彻理解。然而,在某些情况下,未对公知的或常规的细节进行描述,以避免混模糊描述。本公开中对“一个”或“一”实施例的参考未必参考同一个实施例,且这类参考意味着至少一个。

在本说明书中对“一个实施例”或“实施例”的参考意味着结合实施例描述的特定特征、结构或特性包含在本公开的至少一个实施例中。在本说明书中各个地方出现的短语“在一个实施例中”不一定全部指代同一个实施例,也不是与其它实施例相互排斥的单独实施例或替代性实施例。此外,描述可由一些实施例而不是由其它实施例展现的各种特征。类似地,描述各种要求,所述要求可为对于一些实施例而非其它实施例的要求。

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

尽管一些实施例可在功能全面的计算机及计算机系统中实施,但是各种实施例能够以多种形式分布为计算产品,且能够不论用于实现分布的机器或计算机可读介质的特定类型如何都适用。

所公开的至少一些方面可至少部分体现于软件中。也就是说,可在计算装置或其它系统中响应于其处理器(例如,微处理器)执行存储器(例如,ROM、易失性RAM、非易失性存储器、高速缓存或远程存储装置)中包含的指令序列而进行所述技术。

经执行以实施实施例的例程可实施为操作系统、中间件、业务交付平台、软件开发工具包(SDK)组件、网络服务或被称为“计算机程序”的其它特定应用程序、组件、程序、对象、模块或指令序列的一部分。这些例程的调用接口可作为应用程序编程接口(API)暴露给软件开发团体。计算机程序通常在各种时间在计算机中的各种存储器及存储装置中包括一或多个指令集,且所述指令集在由计算机中的一或多个处理器读取及执行时使所述计算机执行对进行涉及各个方面的元件来说必要的操作。

机器可读介质可用于存储在由计算装置执行时使得所述装置执行各种方法的软件及数据。可执行软件及数据可存储于包含例如ROM、易失性RAM、非易失性存储器或高速缓存的各个位置中。此软件或数据的部分可存储在这些存储装置中的任一个中。此外,数据及指令可从集中式服务器或对等网络获得。可在不同时间且在不同通信会话或同一通信会话中从不同集中式服务器或对等网络获得数据及指令的不同部分。可在执行应用程序之前获得全部数据及指令。或者,可动态地、及时地在需要执行时获得数据及指令的部分。因此,并不要求数据及指令在特定时刻全部处于机器可读介质上。

计算机可读介质的实例包含但不限于可记录及不可记录类型的介质,例如易失性及非易失性存储器装置、只读存储器(ROM)、随机存取存储器(RAM)、快闪存储器装置、固态驱动器存储介质、可装卸式磁盘、磁盘存储介质、光学存储介质(例如,光盘只读存储器(CDROM)、数字多功能盘(DVD)等)等等。计算机可读介质可存储指令。

大体来说,有形或非暂时性机器可读介质包含以机器(例如,计算机、移动装置、网络装置、个人数字助理、制造工具、具有一组一或多个处理器的任何装置等)可存取的形式提供(例如,存储)信息的任何机构。

在各种实施例中,硬接线电路系统可与软件及固件指令组合使用以实施所述技术。因此,所述技术既不限于硬件电路系统及软件的任何特定组合,也不限于由计算装置执行的指令的任何特定来源。

可使用广泛多种不同类型的计算装置来实施本文中阐述的各种实施例。如本文中所使用,“计算装置”的实例包含但不限于服务器、集中式计算平台、多个计算处理器或移动装置的系统、用户终端、车辆、个人通信装置、可佩戴数字装置、电子自助服务终端、通用计算机、电子文档阅读器、平板计算机、膝上型计算机、智能手机、数码相机、住宅家庭设备、电视或数字音乐播放器。计算装置的额外实例包含被称为“物联网”(IOT)的装置的一部分。这类“物”可与其拥有者或管理员偶然交互,所述拥有者或管理员可监控所述事物或修改这些事物上的设置。在一些情况下,这类拥有者或管理员扮演关于“物”装置的用户的角色。在一些实例中,用户的主要移动装置(例如,苹果iPhone(Apple iPhone))可为关于由用户佩戴的配对的“物”装置(例如,苹果手表(Apple watch))的管理员服务器。

在一些实施例中,计算装置可为计算机或主机系统,其例如实施为台式计算机、膝上型计算机、网络服务器、移动装置,或包含存储器及处理装置的另一计算装置。主机系统可包含或耦合到存储器子系统,使得主机系统可从存储器子系统读取数据或将数据写入到存储器子系统。主机系统可经由物理主机接口耦合到存储器子系统。一般来说,主机系统可经由相同通信连接、多个单独通信连接及/或通信连接的组合存取多个存储器子系统。

在一些实施例中,计算装置为包含一或多个处理装置的系统。处理装置的实例可包含微控制器、中央处理单元(CPU)、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)、片上系统(SoC)或另一合适的处理器。

尽管各图中的一些以特定次序说明多个操作,但是可重新排序不依赖于次序的阶段,并且可组合或分解其它操作。虽然具体提及一些重新排序或其它分组,但是其它重新排序或分组对于本领域的普通技术人员来说是显而易见的,因此不提供详尽的替代方案列表。此外,应认识到,所述阶段可在硬件、固件、软件或其任何组合来实施。

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

相关技术
  • 存储器管理方法、存储器控制电路单元与存储器存储装置
  • 一种智能密钥装置的工作方法及智能密钥装置
  • 半导体存储器件及半导体存储器制造装置
  • 解码方法、存储器存储装置及存储器控制电路单元
  • 基于动态密钥推导的多密钥全存储器加密的方法和装置
  • 用于导出会话密钥以确保主机系统和数据处理加速器之间的信息交换信道的方法和系统
技术分类

06120115928303