用于对数据进行操作的方法和存储器器件技术

技术编号:8026970 阅读:225 留言:0更新日期:2012-12-02 18:17
提供了用于实现长操作并支持多个流的方法和存储器器件。在一个实施例中,存储器器件从主机接收数据和命令以对该数据进行操作,其中存储器器件完成该操作所需的时间超过了存储器器件对该命令做出响应的最大响应时间。存储器器件开始进行对数据的操作,并且在超过该最大响应时间之前以及在完成该操作之前,将该操作的上下文发送给主机。在稍后的时间,存储器器件从主机接收:(i)恢复进行该操作的命令以及(ii)该上下文。存储器器件然后基于从主机接收的上下文恢复对数据进行操作。

【技术实现步骤摘要】
【国外来华专利技术】

技术介绍
诸如智能卡或SD卡的存储器器件可以用作诸如个人计算机(PC)或者移动电话的主机中的嵌入安全模块,以同时支持来自主机的多个任务和应用流。对安全模块的访问经常是不同步的,因为运行在主机上的应用经常未同步,并且因为安全模块可能在时间上的任意时刻仅能够执行单个操作。结果,主机上的多个应用可能需要时间共享该安全模块。如图5所示,来自两个或多个不同应用的数据被划分成多个块,并且被存储在两个或多个数据缓冲器中知道块可以被安全模块处理。在诸如安全性处理的应用中(例如数字签名和加密产生),数据块不能被单独处理,因为给定块的处理取决于先前处理的块。因此,当处理两个同时的流时,当前上下文(context)被保存在安全模块中并在稍后用于处理随后的 块。但是,将上下文保存在安全模块中可能消耗相当大量的存储器,这对于具有有限存储器空间的注入智能卡或SD卡的存储器器件来说可能是问题。当被用作安全模块时,这样的存储器件可能进一步需要专门的状态管理块,这可能极大地增加安全模块的价格。而且,安全模块的性能可能极大地降低,因为重复向非易失性存储器写上下文可能花费相当长的时间并且降低了非易失性存储器的使用寿命。在安全模块中的安全处理遇到的另一困难是完全安全操作(例如RSA密钥产生或者RSA签名)所需的时间可能比存储器器件对命令做出响应的最大响应时间更长。智能卡通过使用专门的“未就绪(not ready) ”命令(比如在IS0-7816-3中定义的“NULL(空)”进程字节)来命令主机保持等待来应对此情况(见图6)。但是,利用此方法,主机可能需要等待相当长的时间直到操作完成,并且可能不能中断操作。另外,存在主机驱动器在此时间期间不能将安全模块置于睡眠模式的风险,这可能导致安全模块的易失性存储器被擦除。此外,对于某些安全模块,比如SD卡,这样的专门的“未就绪”命令可能不能实现,因为它们未被定义在物理协议级。
技术实现思路
本专利技术的实施例由权利要求定义,并且此部分中的任何内容不应被当作是对那些权利要求的限制。通过介绍,以下所述的实施例指向用于对数据进行操作的方法和存储器器件。在一个实施例中,存储器器件接收来自主机的数据和命令以对数据进行操作,其中存储器器件完成该操作所需的时间超过了存储器器件对该命令做出响应的最大响应时间。存储器器件开始进行对数据的操作,并且在超过该最大响应时间之前以及在完成该操作之前,将该操作的上下文发送给主机。在稍后的时间,存储器器件从主机接收(i)恢复进行该操作的命令以及(ii)该上下文。存储器器件然后基于从主机接收的上下文恢复对数据进行操作。其他实施例是可能的,并且每个实施例可以单独或者组合在一起使用。因而,现在将参考附图描述各个实施例。附图说明图I是实施例的示例存储器器件的框图。图2是对数据进行操作的实施例的方法的流程图。图3是在图2的流程图中讨论的操作的例示。图4是实施例的处理多个流的例示。 图5和图6是对数据进行操作的现有技术方法的例示。具体实施例方式企塑以下实施例提供了用于对数据进行操作的方法和存储器器件。如上所述,主机要求存储器器件进行的某些操作可能比对存储器器件对命令做出响应给出的最大响应时间花费更长。以下描述的实施例中的一些给出了对于此“长操作”问题的解决方案,其避免了现有方案遇到的缺点。以下描述的其他实施例可以用于支持多个应用而不增加成本以及不降低安全性。以下讨论的“长操作”实施例以及“多个流”实施例可以单独使用或者彼此组合使用。在转向这些实施例之前,以下部分讨论了可以用于实现这些实施例之一或两者的示例存储器器件。应该注意,可以使用其他类型的存储器器件。示例存储器器件图I是可以与这些实施例一起使用的示例存储器器件100的例示,尽管可以使用其他类型的存储器器件。在一个实施例中,存储器器件100采取可拆卸地可连接到主机的手持存储卡、嵌入存储卡(例如嵌入主机中的安全模块)、通用串行总线(USB)器件或者可移除或不可移除硬盘、比如固态驱动器的形式。如图I所示,存储器器件100包括控制器110和存储器120。控制器110包括用于与存储器120接口的存储器接口 111以及用于将存储器器件置于与主机50通信的主机接口 120。如在此使用的,短语“与......通信”可以意味直接与之通信或者通过可能有或者可能没有在此示出或描述的一个或多个组件间接与之通信。例如,主机接口 150可以包含物理和电连接器以在存储器器件100和主机50之间发送数据和命令。同样如在此使用的,主机可以采取任何适当的形式,比如但不限于专用内容播放器、移动电话、个人计算机、游戏设备、个人数字助理(PDA)、信息站(kiosk)、机顶盒或者TV系统。控制器110还包括中央处理单元(CPU) 113、可操作以提供加密和/或解密操作的密码引擎114(密码引擎114可以实现在硬件或软件中)、读访问存储器(RAM) 115、存储存储器器件100的基本操作的固件的只读存储器(ROM) 116、以及存储用于加密/解密操作的设备专用密钥的非易失性存储器(NVM) 117。存储器120可以采取任何适当的形式。在一个实施例中,存储器120是采取固态(快闪)存储器形式的海量存储器件,并且可以是一次可编程的、几次可编程的或者多次可编程的。但是,可以使用其他形式的存储器。在此实施例中,存储器120包括由主机50上的文件系统管理的公共分区125以及由控制器110内部地管理的隐藏受保护系统区135。隐藏受保护系统区135存储由控制器110使用来控制存储器器件100的操作的固件(FW)代码142以及内容加密密钥(CEK) 146,如以下将描述的。公共分区125和隐藏受保护系统区135可以是相同存储器单元的部分或者可以是不同的存储器单元。隐藏受保护系统区135是“隐藏的”,因为其由控制器110 (而不是由主机的控制器)内部地管理,并且是“是受保护的”,因为区域135中存储的对象被用存储在控制器110的非易失性存储器117中的唯一密钥加密。因而,为了访问该区域135中存储的对象,控制器110将使用密码引擎114和存储在非易失性存储器117中的密钥来解密被加密的对象。优选地,存储器器件100采取来自桑迪士克公司的在TrustedFlashTM平台上构建的产品系列的安全产品。在此实施例中,受保护内容文件130A、130B被存储在主机50中并且通过密码算法保护。例如,可以使用存储在存储器器件100中(例如控制器的NVMl 17中的或者某些其他位置中)的密钥加密并签名内容130A、130B。存储器器件100和主机50可以经由主机接口 112彼此通信。在一个实施例中,对于涉及数据的安全传输的操作,存储器器件100中的密码引擎114以及主机50中的密码引擎可以用于相互验证彼此并提供密钥交换(只是可选的并不是强制性的)。相互验证处理 要求主机50和存储器器件100交换唯一证书ID。主机50和存储器器件100可以基于PKI进行相互验证。在相互验证完成后之后,优选会话密钥可以用于建立安全信道用于在存储器器件100和主机50之间的通信。应该注意,也可以进行单个验证。控制器110可以以任何适当的方式实现。例如,控制器110可以采取例如微处理器或者处理器以及存储可由(微)处理器执行的计算机本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:B多尔古诺夫M霍尔茨曼R巴齐莱E沈
申请(专利权)人:桑迪士克科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1