具有密钥的数据存储设备及其方法

文档序号:6333058阅读:336来源:国知局
专利名称:具有密钥的数据存储设备及其方法
技术领域
本总的发明构思涉及一种加密和解密数据的数据存储设备和方法,且更具体地 涉及一种处理秘密密钥(crypto key)的设备及其方法
背景技术
通常,数据存储装置是一种从存储媒体读取数据并且将数据写入存储媒体的计 算装置。数据存储装置可以包含移动部件,或者可以不具有任何显著的移动部件。具有 移动部件的数据存储装置的一个示例是传统的盘驱动器,其中例如旋转唱片的盘旋转并 且具有用于读写数据的一个或多个头。不具有任何显著的移动部件的数据存储装置通常 被称作固态驱动器。安全盘驱动器使用一种部分或整盘加密技术来支持驱动器处的数据加密,在该 技术中使用加密密钥来加密存储媒体上的数据。在常规系统中,响应读或写命令,从存 储器取回加密的数据,并且对解密的数据进行加密和存储。尽管加密或安全密钥可被存 储在安全盘驱动器上,但是加密和解密由主机装置中的外部处理器或者安全盘驱动器中 的微处理器处理。因为数据在按照读或写命令控制被处理之前必须首先被加密或解密, 因此用于加密和解密的软件解决方案具有大的吞吐量并且对性能产生影响。

发明内容
本总的发明构思提供了更快的性能和更好的安全性。因为加密密钥是在驱动硬 件内生成并存储的,因此它们从未脱离其范围并且从未保存在操作系统中或者从未被应 用软件保存。硬件加密相对管理而言更安全且不太复杂。本总的发明构思的附加方面和优点将部分地阐述于随后的描述中,且部分地从 所述描述中显而易见,或者可以通过本总的发明构思的实践来获知。本总的发明构思的上述和/或其它方面和效用可以通过提供一种存储设备来实 现,所述存储设备包括存储单元,用于存储数据;处理器单元,用于根据从外部装置 接收的命令来处理数据;和密钥单元,用于当所述处理器单元处理数据时,同时地处理 与所述命令对应的加密。本总的发明构思的上述和/或其它方面和效用也可以通过提供一种存储设备来 实现,所述存储设备包括存储单元,用于存储数据;处理器单元,用于根据从外部装 置接收的命令来处理数据;密钥单元,用于存储多个秘密密钥;和解码器单元,用于根 据从所述外部装置接收的命令的地址信息来选择所述秘密密钥之一。 本总的发明构思的上述和/或其它方面和效用也可以通过提供一种存储设备来实现,所述存储设备包括处理器单元,用于根据从外部装置接收的命令执行数据的处 理;解码器单元,用于根据从所述外部装置接收的命令的地址信息执行秘密密钥的选 择,其中一旦接收到所述命令,所述处理器单元和所述解码器单元同时地分别执行数据 的处理和秘密密钥的选择。本总的发明构思的上述和/或其它方面和效用也可以通过提供一种存储系统来 实现,所述存储系统包括主机设备,用于生成命令;和存储设备,可连接到所述主机 设备,所述存储设备包括存储单元,用于存储数据;处理器单元,用于根据从外部装 置接收的命令来处理数据;密钥单元,用于存储多个秘密密钥;和解码器单元,用于根 据从所述外部装置接收的命令的地址信息来选择所述秘密密钥之一。本总的发明构思的上述和/或其它方面和效用也可以通过提供一种存储系统来 实现,所述存储系统包括主机设备,用于生成命令;和存储设备,可连接到所述主 机设备,所述存储设备包括处理器单元,用于根据从外部装置接收的命令执行数据的 处理;解码器单元,用于根据从所述外部装置接收的命令的地址信息执行秘密密钥的选 择,其中一旦接收到所述命令,所述处理器单元和所述解码器单元同时地分别执行数据 的处理和秘密密钥的选择。本总的发明构思的上述和/或其它方面和效用也可以通过提供一种存储设备来 实现,所述存储设备包括密钥单元,用于存储多个秘密密钥;解码器单元,用于根据 从外部装置接收的地址信息来选择所述秘密密钥之一;存储单元,用于存储数据;和控 制处理器单元,用于使用所选择的秘密密钥管理来自所述存储单元的读和写数据,其中 所述解码器单元独立于所述控制处理器单元选择所述秘密密钥之一。本总的发明构思的上述和/或其它方面和效用也可以通过提供一种固态盘驱动 器来实现,所述固态盘驱动器包括密钥单元,用于存储多个秘密密钥;解码器单元, 用于根据从外部装置接收的地址信息来选择所述秘密密钥之一;存储单元,用于存储数 据;和控制处理器单元,用于使用所选择的秘密密钥管理来自所述存储单元的读和写数 据,其中所述解码器单元独立于所述控制处理器单元选择所述秘密密钥之一。本总的发明构思的上述和/或其它方面和效用也可以通过提供一种数据系统来 实现,所述数据系统包括主机设备,用于生成命令;和存储设备,可连接到所述主机 设备,所述存储设备包括密钥单元,用于存储多个秘密密钥;解码器单元,用于根据 从外部装置接收的地址信息来选择所述秘密密钥之一;存储单元,用于存储数据;和控 制处理器单元,用于使用所选择的秘密密钥管理来自所述存储单元的读和写数据,其中 所述解码器单元独立于所述控制处理器单元选择所述秘密密钥之一。本总的发明构思的上述和/或其它方面和效用也可以通过提供一种加密数据的 方法来实现,所述方法包括步骤接收命令;根据所述命令解析地址;接收逻辑块地 址范围;生成与所述逻辑块地址范围对应的密钥标志;和使用所述密钥标志选择秘密密 钥。 本总的发明构思的上述和/或其它方面和效用也可以通过提供一种加密数据的 方法来实现,所述方法包括步骤接收写请求;根据所述写请求解析地址;接收逻辑块 地址范围;生成与所述逻辑块地址范围对应的密钥标志;使用所述密钥标志选择秘密密 钥;使用所述秘密密钥来加密数据;和将加密后的数据写入存储器。
本总的发明构思的上述和/或其它方面和效用也可以通过提供一种解密数据的 方法来实现,所述方法包括步骤接收命令;根据所述命令解析地址;接收逻辑块地 址范围;生成与所述逻辑块地址范围对应的密钥标志;和使用所述密钥标志选择秘密密 钥。本总的发明构思的上述和/或其它方面和效用也可以通过提供一种解密数据的 方法来实现,所述方法包括步骤接收读请求;根据所述读请求解析地址;接收逻辑块 地址范围;生成与所述逻辑块地址范围对应的密钥标志;使用所述密钥标志选择秘密密 钥;使用所述秘密密钥来解密数据;和从存储器读取解密后的数据。本总的发明构思的上述和/或其它方面和效用也可以通过提供一种在存储设备 中执行加密操作的方法来实现,所述方法包括接收命令;和同时地根据所述命令处理 数据并且根据所述命令的地址信息执行秘密密钥的选择。本总的发明构思的上述和/或其它方面和效用也可以通过提供一种包括计算机 可读代码的计算机可读介质,所述计算机可读代码作为用于执行在存储设备中执行加密 操作的方法的程序,所述方法包括接收命令;和同时地根据所述命令处理数据并且根 据所述命令的地址信息执行秘密密钥的选择。


从结合附图的实施例的下列描述中,本总的发明构思的这些和/或其它方面和 优点将变得明显和更容易理解,附图中图IA和图IB是图示根据本总的发明构思的实施例与主机设备通信的存储设备 的视图;图2A和图2B是图示根据本总的发明构思的实施例与主机设备通信的存储设备 的视图;图3是图示根据本总的发明构思的实施例的存储设备的一部分的视图;图4是图示根据本总的发明构思的实施例的存储设备的方块图;图5是图示根据本总的发明构思的实施例的帧信息系统的视图;图6是图示根据本总的发明构思的实施例的帧信息系统的视图;图7是图示根据本总的发明构思的实施例的帧信息系统的视图;图8是图示根据本总的发明构思的实施例的包括存储设备的计算机架构的视 图;图9是图示根据本总的发明构思的实施例的包括存储设备的计算机架构的视 图;图10是图示根据本总的发明构思的实施例的包括存储设备的计算机架构的视 图;图11是图示根据本总的发明构思的实施例的包括存储设备的计算机架构的视 图;图12是图示根据本总的发明构思的实施例的用于在存储设备上加密或解密数据 的方法的流程图;图13是图示根据本总的发明构思的实施例的用于在存储设备上加密或解密数据的方法的流程图。
具体实施例方式现在将对本总的发明构思的实施例进行详细参考,其示例图示于附图中,其中全文中相似的附图标号指代相似的元件。下面在参考附图的同时描述实施例以便解释本 总的发明构思。整盘加密解决方案(Full disk encryption solutions)使用若干安全或加密密钥用以
加密不同的分区。如果未授权的用户获得对计算机的访问,则该未授权的用户并不能访 问所有文件。文件和文件夹加密对于盘的不同部分允许不同的密钥。因此未授权的用户 不能从仍旧加密的文件和文件夹中提取信息。硬件加密相对于仅程序加密手段的优点包括性能更快且安全性更好。因为在驱 动器硬件内产生并存储加密密钥,因此它们从未脱离其界限并且从未保存在操作系统中 或者从未被应用软件保存。硬件加密相对管理而言更安全且不太复杂。下文中可替换地使用的术语“加密密钥”、“安全密钥”或“秘密密钥”,可 以结合加密和/或解密数据的高级加密标准(AES)或数据加密标准(DES)、或者适当的 其它加密系统来使用。图1A、IB、2A和2B是图示根据本总的发明构思的示例性实施例的安全存储设 备100和200的视图。参考图IA和图1B,安全存储设备100包括接口 110、处理器120、存储单元130 和密钥单元140。安全存储设备100与位于主机设备105中的主机处理器108通信。在图IA中,安全存储设备100在包括主机处理器108的主机设备105的外部, 并且通过接口 110通信。安全存储设备100可以通过其中的端子可拆卸地附着到主机设 备 105。在图IB中,安全存储设备100位于主机设备105的内部,并且通过接口 110与 主机处理器108通信。安全存储设备100可被安装在主机设备105中。该主机设备105 可以具有至少一个安装在其中的附加存储设备。用户使用主机设备105。主机设备105与安全存储设备100通信,该安全存储设 备100显然地加密和解密存储在安全存储设备100上的数据。用户可以在引导或启动时 输入口令,以便访问处于加锁状态的安全存储设备100。可替换地,用户可以在未加锁状 态下毫无限制地不输入口令而可以访问安全存储设备100。在加锁或未加锁状态下,数据 已被加密。在加锁状态下,用户通过设置口令来控制安全密钥。可能的是,用户可以输入口令来根据存储在存储单元130中的数据生成具有不 同的限制或加密/解密级别或范围的文档。在加锁状态下,可以使用数种技术来找回丢失的口令。可以使用挑战/响应序 列来找回丢失的口令。可替换地,可以在安全空间内生成并且存储受口令保护的加密密 钥文件。处理器120根据从主机处理器108接收的命令,例如读/写命令,处理数据。处 理器120可以是微处理器、微控制器、数字信号处理器、专用或通用编程芯片。存储单元130存储数据。存储单元130可以是存储数据的半导体固态盘驱动器(SSD)。存储单元130可以是其它类型的存储器,例如闪速存储器、多个半导体存储芯片的模块或封装、存储卡等。可替换地,存储单元130可以是其它类型的存储器,例如 传统的硬盘驱动器(HDD)、光盘驱动器(ODD)等。存储单元130具有用于存储数据或 信息的存储空间(或物理存储空间)。密钥单元140同时地处理与从主机处理器108接收的读/写命令对应的加密和解 密,同时处理器单元120响应从主机处理器108接收的命令而处理数据。在本总的发明构 思的示例性实施例中,密钥单元解析用于从命令中找回地址的命令,使用该地址查找安 全密钥,并且根据读/写命令执行数据的加密或解密。密钥单元140可以是分离单元, 具有用于存储安全密钥列表的存储器以及用于执行安全密钥查找和数据加密的专用或通 用微处理器。所述命令可以包括与处理器110进行的数据处理对应的第一命令和与密钥单元 140进行的加密或解密对应的第二命令。而且,所述命令可以被处理器120和密钥单元 140同时解释以便同时执行数据处理和加密或解密。安全密钥列表与存储单元130相关。存储单元130被划分为η个范围,并且每 个范围具有与在加密和解密其中包含的数据时使用的其相关联的唯一安全密钥。该范围 可以由制造商限定,并且是数据量。安全密钥列表包含与存储单元130的η个范围对应 的η个安全密钥。每个范围中的数据可以具有固定的块大小,例如64位、128位、192 位、256位等,并且每个范围的安全密钥可以是例如64位、128位、192位、256位等。 从自主机处理器108接收的读/写命令解析的地址,可以结合安全密钥列表被用来利用所 解析的地址确定加密和/或解密特定数据所需要的安全密钥。当使用根据从自主机处理器108接收的读/写命令解析的地址从安全密钥列表中 已经选择安全密钥时,密钥单元140使用该安全密钥来加密和/或解密数据。密钥单元 140可以使用加密和/或解密数据的高级加密标准(AES)或数据加密标准(DES),或者可 以使用适当的其它加密系统。密钥单元140从命令中解析地址,并且不利用处理器120地处理加密和/或解 密。因此,处理器120可以处理如在命令中指定的数据,而密钥单元140同时地处理数据 的加密和/或解密。密钥单元140能够加密或解密数据而不中断处理器120或需要控制, 同时处理器120能够处理数据而不中断密钥单元140。密钥单元140和处理器120彼此都 不具有优于对方的优先级,并且密钥单元140和处理器120彼此不干扰(interfere with)。处理器120处理数据,可以包括执行映射操作以便根据命令将逻辑地址映射到 存储单元130中的对应物理地址。处理器120可以在通过密钥单元140进行加密的处理 之后,执行数据的附加处理。处理器120可以等待或延迟数据的处理直到密钥单元140完成加密或解密处理为 止。处理器120可以在密钥单元140进行的加密或解密处理期间执行一部分的数据处理。 处理器120可以在密钥单元140进行的加密或解密处理期间准备数据的处理,从而一旦密 钥单元140完成加密或解密处理,处理器120就可以根据命令完成数据的处理。同时地处理加密和数据的速度快于顺序地处理加密和数据的速度。被花费来同 时地处理加密和数据的时间段可以是单个时钟周期或者其它时间段,它短于顺序地处理 加密和数据所花费的时间段。
参考图2A和图2B,安全存储设备200包括接口 210、处理器220、存储单元230 和安全单元240,安全单元240包括解码器单元242、密钥单元244和加密单元246。安 全存储设备200与位于主机设备205中的主机处理器208通信。在图2A中,安全存储设备200在包括主机处理器208的主机装置205的外部, 并且通过接口 210通信。安全存储设备200可以通过其中的端子可拆卸地附着到主机设 备 205。在图2B中,安全存储设备200位于主机设备205的内部,并且通过接口 210与 主机处理器208通信。安全存储设备200可被安装在主机设备205中。该主机设备105 可以具有至少一个安装在其中的附加存储设备。用户使用主机设备205。主机设备205与安全存储设备200通信,该安全存储设 备200显然地加密和解密存储在安全存储设备200上的数据。用户可以在引导或启动时 输入口令,以便访问处于加锁状态的安全存储设备200。可替换地,用户可以在未加锁状 态下毫无限制地不输入口令而可以访问安全存储设备200。在加锁状态或未加锁状态下, 数据均已经被加密。在加锁状态下,用户通过设置口令来控制安全密钥。可能的是,用户可以输入口令来根据存储在存储单元230中的数据生成具有不 同的限制或加密/解密级别或范围的文档。在加锁状态下,可以使用数种技术来找回丢失的口令。可以使用挑战/回应 (challenge/response)序列来找回丢失的口令。可替换地,在安全空间内可以生成并且存 储受口令保护的加密密钥文件。处理器220根据从主机处理器208接收的命令,例如读/写命令,处理数据。处 理器220可以是微处理器、微控制器、数字信号处理器、专用或通用编程芯片。存储单元230存储数据。存储单元230可以是存储数据的半导体固态盘驱动器 (SSD)。存储单元230可以是其它类型的存储器,例如闪速存储器、多个半导体存储芯 片的模块或封装、存储卡等。可替换地,存储单元230可以是其它类型的存储器,例如 传统的硬盘驱动器(HDD)、光盘驱动器(ODD)等。存储单元230具有用于存储数据或 信息的存储空间(或物理存储空间)。安全单元240包括解码器单元242、密钥单元244和加密单元246。解码器单元242根据从自主机设备208接收的命令解析地址信息,并且选择相应 的安全密钥。解码器单元242可以是分离的专用或通用电路,它可以经由处理器220接 收来自接口 210的命令或者可以从接口 210直接接收命令并且对该命令解码。所述命令可以包括与处理器210进行的处理数据对应的第一命令和与解码器单 元242进行的加密或解密对应的第二命令。而且,所述命令可以被处理器220和解码器 单元242同时解释以便同时执行数据处理和加密或解密。解码器单元242解析所述命令并且根据所述命令确定地址。根据自主机处理器 208接收的读/写命令解析的地址,可以结合密钥单元244中存储的密钥列表被用来利用 所解析的地址确定加密和/或解密特定数据所需要的安全密钥。在本总的发明构思的示例性实施例中,密钥单元244存储安全密钥列表。密钥 单元244可以是包含密钥列表的分离的存储单元,或者可以位于存储单元230上。安全 密钥列表与存储单元230相关。存储单元230被划分为η个范围,并且每个范围具有与在加密和解密其中包含的数据时使用的其相关联的唯一安全密钥。该范围可以由制造商限定,并且是数据量。安全密钥列表包含与存储单元230的η个范围对应的η个安全密 钥。每个范围中的数据可以具有固定的块大小,例如64位、128位、192位、256位等, 并且每个范围的安全密钥可以是例如64位、128位、192位、256位等。解码器单元242可以使用地址来从存储在存储单元230上的密钥列表中直接选择 相应的安全密钥,或者解码器单元242可以使用从接收到的命令解析的地址来生成密钥 标志。该密钥标志随后可被用来从存储在存储单元230上的密钥列表中选择相应的安全 密钥。解码器单元242可以将地址与基准相比较,以便生成用于选择加密或解密数据的 安全密钥的密钥标志。加密(cipher)单元246执行加密操作以便根据所选的秘密密钥加密数据。加密 单元246可以是分离的专用或通用电路,它可以是高级加密系统(AES)或者数据加密系 统(DES)加密器(cipher)、或任何合适的加密器。当通过解码器单元242使用从自主机处理器208接收的读/写命令解析的地址从 存储在密钥单元250中的安全密钥列表中已经选择安全密钥时,加密单元246使用该安全 密钥来加密和/或解密数据。加密单元246可以使用加密和/或解密数据的高级加密标 准(AES)或数据加密标准(DES),或者可以使用适当的其它加密系统。解码器单元242从命令中解析地址,并且加密单元246不利用处理器220来处 理加密和/或解密。因此,处理器220可以处理如在命令中指定的数据,而解码器单元 242同时地选择安全密钥。加密单元246能够加密或解密数据而不中断处理器220或需要 控制,同时处理器220能够处理数据而不中断加密单元246。解码器单元242和处理器 220都不具有优于对方的优先级,并且解码器单元242和处理器120彼此不干扰(interfere with) ο处理器220处理数据,可以包括执行映射操作以便根据命令将逻辑地址映射到 存储单元230中的对应物理地址。处理器220可以在通过加密单元260进行加密的处理 之后,执行数据的附加处理。根据处理的数据和加密操作,处理器220可以将信号输出 到主机设备205。处理器220可以等待或延迟数据的处理直到解码器单元242完成加密或解密处理 为止。处理器220可以在解码器单元242进行的加密或解密处理期间执行一部分的数据 处理。处理器220可以在解码器单元242进行的加密或解密处理期间准备数据的处理, 从而一旦解码器单元242完成加密或解密处理,处理器220就可以根据命令完成数据的处理。同时地处理加密和数据的速度快于顺序地处理加密和数据的速度。被花费来同 时地处理加密和数据的时间段可以是单个时钟周期或者其它时间段,它短于顺序地处理 加密和数据所花费的时间段。一旦接收到命令,处理器220和解码器单元242就同时地分别执行数据的处理 和安全密钥的选择。主机设备205可以通过生成对应于用户窗口的接口信号来与用户通 信,以便改变安全密钥。解码器单元242可以选择变化后的安全密钥。解码器单元242 独立于处理器220或主机处理器208选择安全密钥之一。因此,处理器220在从存储在存储单元244上的密钥列表中选择安全密钥时不执行加密或解密或者控制解码器单元242。处理器220根据处理后的数据和加密操作将信号 输出到主机设备205。处理器220在当解码器单元242选择安全密钥和加密单元246执行 加密操作时的时间段内处理数据。当加密单元246完成加密操作时,处理器220被允许 输出根据处理后的数据生成的信号。解码器单元242生成指示对处理器220的加密操作 的信号。参考图3,图示了表示本总的发明构思的示例性实施例的安全单元340。下文中 参考安全单元340更详细地描述图2的解码器单元242、密钥单元244和加密单元246, 所述安全单元340包括解码器单元342、密钥单元344和加密单元346。图3包括解码器单元342、密钥单元344和加密单元346。解码器单元342接收 命令并且根据该命令解析地址。地址可以是逻辑块地址(LBA)。地址或LBA被用来从 密钥单元344选择安全密钥。密钥单元344包括密钥1、密钥2...密钥η。每个密钥对应 于图2的示例性实施例的存储单元230的范围。安全密钥在加密单元346中使用,该加 密单元346可以是高级加密系统(AES)或数据加密系统(DES)加密器或任何合适的加密
ο参考图4,图示了表示本总的发明构思的示例性实施例的存储设备400的方块 图。存储设备400经由总线415与处理器420通信,并且通过接口 410通信到外部设备 405。可以使用串行ATA驱动器和接口,或者可以使用任何其它合适的驱动器和接口标 准。可以使用发送命令并从外部存储器接收数据的任何合适的处理器或主机。处理器 400可以包括附加的存储单元,例如ROM或RAM,以便执行数据处理。取代0传统上执行的处理器42,命令解析器441解析命令,例如读或写命令,并 且提取地址。下文中在图5到图7中图示了命令解析器441的操作。由命令解析器441解析的地址(可以是LBA)被LAB解码单元442结合密钥单 元444用来生成安全密钥。该安全密钥在加密单元446中被用来加密或解密存储在存储 设备400上的存储器430中的数据。在加密或解密之后,数据被传递到处理器420用于 处理。因为在单个硬件解决方案中发生了解析、解码和加密/解码,因此数据在响应命 令被传递到处理器420之前不被传递到处理器420用于加密/解密。可替换地,LBA解码单元442可以使用地址来生成密钥标志。密钥标志随后被 传递到加密单元446,该加密单元446使用密码标志来从密钥单元444中选择安全密钥。 该安全密钥随后被加密单元446使用来加密或解密存储器430中存储的数据,如上。命令解析器441可以通过总线415将子命令发送到处理器420并且还发送到LBA 解码单元442。一旦接收到命令,处理器420和LBA解码单元442就可以同时地分别执 行数据的处理和安全密钥的选择。图5图示了图4的命令解析器441的示例性操作。命令解析器441接收来自外 部设备例如主机装置405的命令,以帧为形式,并且解析该帧以便确定该帧中指定的地 址。串行ATA硬件架构实现中的传统主机到装置帧信息结构(FIS)包括帧开始(SOF) 分隔符、包括传输层信息的有效载荷、循环冗余码校验(CRC)和帧结束(EOF)分隔符。 FIS也包括逻辑块地址500,它的形式可以是圆柱形、头形和扇形,并且包括Cyl高和Cyl 低、以及Cyl高(exp)和Cyl低(exp)。Cyl高包括存储单元430的圆柱体高寄存器的内 容,并且Cyl低包括存储单元430的圆柱体低寄存器的内容。Cyl高(exp)和Cyl低(exp)包括存储单元430的扩展地址字段的内容。逻辑块地址500被命令解析器441解析并且 被LBA解码单元442和密钥单元444用来生成安全密钥或密钥标志。图6图示了在由图4的命令解析器441使用的串行ATA硬件架构实现中的装置 到主机帧信息结构(FIS)。逻辑块地址600的形式可以是圆柱形、头形和扇形,并且包括 Cyl高和Cyl低、以及Cyl高(exp)和Cyl低(exp)。逻辑块地址600被命令解析器441 解析并且被LBA解码单元442和密钥单元444用来生成安全密钥或密钥标志。图7图示了在由图4的命令解析器441使用的串行ATA硬件架构实现中的另一 装置到主机帧信息结构(FIS)。逻辑块地址700的形式可以是圆柱形、头形和扇形,并且 包括Cyl高和Cyl低、以及Cyl高(exp)和Cyl低(exp)。逻辑块地址700被命令解析器 441解析并且被LBA解码单元442和密钥单元444用来生成安全密钥或密钥标志。图8到图11图示了本总的发明构思的实施例的各种示例性简化的计算机架构。参考图8,使用下面图12中描述的方法,CPU 810经由串行ATA接口 820与光 盘驱动器(ODD)830通信。ODD 830可以包括如上面参考图1所述的在加密和解密数据 中使用的处理器和密钥单元,该ODD 830被CPU 810使用。可替换地,ODD 830可以 包括如上面参考图2所述的在加密和解密数据中使用的处理器、密钥单元、解码单元和 加密单元,该ODD 830被CPU 810使用。参考图9,CPU 910经由串行ATA接口 920与硬盘驱动器(HDD) 930通信。HDD 930可以包括如上面参考图1所述的在加密和解密数据中使用的处理器和密钥单元,该 HDD 930被CPU 910使用。可替换地,HDD 930可以包括如上面参考图2所述的在加密 和解密数据中使用的处理器、密钥单元、解码单元和加密单元,该HDD 930被CPU 910使用。参考图10,CPU 1010经由多媒体卡控制器1020与多媒体卡1030通信。多媒体 卡1030可以包括如上面参考图1所述的在加密和解密数据中使用的处理器和密钥单元, 该多媒体卡1030被CPU 1010使用。可替换地,多媒体卡1030可以包括如上面参考图 2所述的在加密和解密数据中使用的处理器、密钥单元、解码单元和加密单元,该多媒体 卡1030被CPU 1010使用。参考图11,CPU 1110经由安全数字接口 1120与安全数字卡(SD卡)1130通 信。SD卡1130可以包括如上面参考图1所述的在加密和解密数据中使用的处理器和密 钥单元,该SD卡1130被CPU 1110使用。可替换地,SD卡1130可以包括如上面参考 图2所述的在加密和解密数据中使用的处理器、密钥单元、解码单元和加密单元,该SD 卡1130被CPU 1110使用。图12示出了本总的发明构思的实施例的流程图。为了图示目的,使用图4的存 储设备400来描述图12。在操作S1205,存储设备400接收命令。在操作S1210,命令 解析器441解析该命令。从该命令中解析逻辑块地址(LBA),并且通过LBA解码单元 442将该LBA与当前LBA相比较。如果LBA不同,则在操作S1215,新LBA被LBA解 码单元442使用。如果LBA相同,则在加密和解密中加密单元446使用当前LBA和安全 密钥。在操作S1220,新LBA在LBA解码单元442中被用来生成合适的密钥标志。根 据LBA解码单元442生成的密钥标志,在操作S1225从密钥单元444选择安全密钥,并 且之后在加密和解密数据中由加密单元446使用该安全密钥。
类似地,在图1的安全存储设备100中,安全存储设备100接收命令。同时地, 处理器120响应该命令来处理数据,并且密钥单元140使用该命令的地址信息来选择安全 密钥。密钥单元140使用该安全密钥来加密或解密数据。类似地,在图1的安全存储设备200中,安全存储设备200接收读/写请求。解 码单元242从可以是逻辑块地址的读/写请求中解析地址,并且生成与该逻辑块地址对应 的密钥标志。密钥单元244使用该密钥标志选择安全密钥,并且加密单元246使用该安 全密钥来解密数据或加密数据,如读/写请求所指定的。当数据被解密或加密时,数据 被传递到处理器220用以进一步处理,包括将解密后的数据传递到主机设备205或者将加 密后的数据写入存储器230。图13示出了本总的发明构思的实施例的流程图。为了图示目的,使用图IA和 图IB的存储设备100来描述图13。在操作S1305,存储设备100从主机设备105接收命 令。该命令被同时地传递到处理器120和密钥单元140。在操作S1310,处理器120开 始根据命令处理数据。密钥单元140在操作S1215执行数据的加密或解密。当完成加密 或解密时,处理器120在操作S1220完成加密后或解密后的数据的处理。因此,处理器 120开始处理数据,同时密钥单元140正在执行数据的加密或解密,并且当完成加密或解 密时,通过处理器120来完成加密后或解密后的数据的处理。本总的发明构思还可以具体为计算机可读介质上的计算机可读代码。计算机可 读介质可以包括计算机可读记录介质和计算机可读传输介质。所述计算机可读记录介质 是可以将数据存储为其后可由计算机系统读取的程序的任何数据存储装置。计算机可读 记录介质的示例包括只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、 软盘、光数据存储装置。计算机可读记录介质还可以分布在与计算机系统耦接的网络 上,从而以分布式方式来存储和运行计算机可读代码。计算机可读传输介质可以发送载 波或信号(例如,通过因特网的有线或无线数据传输)。另外,用于实现本总的发明构 思的功能程序、代码和代码段能够被本总的发明构思所属领域的编程技术人员容易地解 读。虽然已经示出并描述了本总的发明构思的数个实施例,但是本领域的普通技术 人员将会理解,在这些实施例中可以进行变化,而不脱离本总的发明构思的原理和精 神,本总的发明构思的范畴限定于所附权利要求及它们的等效物中。
权利要求
1.一种存储设备,包括 存储单元,用于存储数据;处理器单元,用于根据从外部装置接收的命令来处理数据;和密钥单元,用于当所述处理器单元处理数据时,同时地处理与所述命令对应的加密。
2.如权利要求1所述的存储设备,其中所述密钥单元同时地处理所述加密而不中断所 述处理器单元。
3.如权利要求1所述的存储设备,其中所述密钥单元处理所述加密而无需所述处理器 单元的控制。
4.如权利要求1所述的存储设备,其中所述处理器单元处理数据而不中断所述密钥单元。
5.如权利要求1所述的存储设备,其中在所述密钥单元完成所述加密的处理之后,所 述密钥单元和所述处理器单元相互通信。
6.如权利要求1所述的存储设备,其中所述密钥单元和所述处理器单元同时地处理所 述加密和所述数据,并且所述数据的处理不同于所述加密的处理。
7.如权利要求1所述的存储设备,其中所述数据的处理和所述加密的处理不具有根据 所述命令顺序地执行所述加密的处理和所述数据的处理的顺序的优先级。
8.如权利要求1所述的存储设备,其中所述数据的处理和所述加密的处理互不干扰。
9.如权利要求1所述的存储设备,其中所述数据的处理包括根据所述命令将逻辑地址 映射到物理地址的映射操作。
10.如权利要求1所述的存储设备,其中所述处理器单元根据所述加密的处理的结果 执行该数据的另外的处理。
11.如权利要求1所述的存储设备,其中 第一时段被花费来顺序地处理加密和数据; 第二时段被花费来同时地处理加密和数据;和 所述第二时段短于所述第一时段。
12.如权利要求1所述的存储设备,其中同时地处理加密和数据的速度快于顺序地处 理加密和数据的速度。
13.—种存储设备,包括 存储单元,用于存储数据;处理器单元,用于根据从外部装置接收的命令来处理数据; 密钥单元,用于存储多个秘密密钥;和解码器单元,用于根据从所述外部装置接收的命令的地址信息来选择所述秘密密钥之一。
14.如权利要求13所述的存储设备,其中一旦接收到所述命令,所述处理器单元和所 述解码器单元同时地分别执行数据的处理和秘密密钥的选择。
15.如权利要求13所述的存储设备,还包括加密单元,用于根据所选择的秘密密钥来执行加密数据的加密操作。
16.如权利要求15所述的存储设备,其中所述处理器单元根据处理后的数据和加密操作将信号输出到所述外部装置。
17.如权利要求15所述的存储设备,其中在当所述解码器单元选择所述秘密密钥并且所述加密单元执行加密操作时的期间 内,所述处理器单元处理数据。
18.如权利要求15所述的存储设备,其中当所述加密单元完成加密操作时,所述处理器单元被允许输出从处理后的数据生成 的信号。
19.如权利要求13所述的存储设备,其中所述解码器单元生成指示对所述处理器单元 的加密操作的信号。
20.如权利要求13所述的存储设备,其中所述解码器单元将地址信息与基准相比较以 便生成选择用于加密所述数据的秘密密钥的信号。
21.如权利要求13所述的存储设备,其中所述解码器单元生成表示选择一个秘密密钥 的密钥标志。
22.如权利要求13所述的存储设备,其中所述多个秘密密钥包括多个64位。
23.如权利要求13所述的存储设备,其中所述处理器单元根据所述命令而不执行所述 解码器单元的加密操作。
24.如权利要求13所述的存储设备,其中所述解码器单元包括命令分析单元,用于分 析来自所述外部装置的命令以便实时获得所述地址信息。
25.如权利要求13所述的存储设备,其中所述解码器单元包括地址转换单元,用于将 所述地址信息实时连接到与所述地址信息对应的所述一个秘密密钥。
26.如权利要求13所述的存储设备,其中加密操作是根据所选择的秘密密钥完成的;和根据所述数据的处理和加密操作的完成,所述处理器单元将其它数据输出到所述外部装置。
27.如权利要求13所述的存储设备,还包括接口单元,用于接收来自所述外部装置的命令,其中所述处理器单元和所述解码器单元接收来自所述接口单元的命令,以便根据接 收到的命令分别执行数据的处理和加密操作。
28.如权利要求15所述的存储设备,还包括数据总线,连接到所述处理器单元和所述解码器单元,用于将所述命令发送到所述 处理器单元和所述解码器单元中的相应一个。
29.如权利要求16所述的存储设备,其中所述数据总线包括连接到所述处理器单元的 第一端和连接到所述解码器单元的第二端。
30.如权利要求13所述的存储设备,还包括可连接到所述外部装置的外壳,用于容纳所述存储单元、所述处理器单元、所述密 钥单元和所述解码器单元,其中所述处理器单元和所述解码器单元在所述外壳内彼此间隔地分开。
31.如权利要求13所述的存储设备,其中在加密操作中选择秘密密钥期间,所述解码 器单元不被所述处理器单元控制。
32.—种存储设备,包括处理器单元,用于根据从外部装置接收的命令执行数据的处理;解码器单元,用于根据从所述外部装置接收的命令的地址信息执行秘密密钥的选择,其中一旦接收到所述命令,所述处理器单元和所述解码器单元同时地分别执行数据 的处理和秘密密钥的选择。
33.—种存储系统,包括 主机设备,用于生成命令;和存储设备,可连接到所述主机设备,所述存储设备包括 存储单元,用于存储数据;处理器单元,用于根据从外部装置接收的命令来处理数据; 密钥单元,用于存储多个秘密密钥;和解码器单元,用于根据从所述外部装置接收的命令的地址信息来选择所述秘密密钥之一。
34.—种存储系统,包括 主机设备,用于生成命令;和存储设备,可连接到所述主机设备,所述存储设备包括处理器单元,用于根据从外部装置接收的命令执行数据的处理;解码器单元,用于根据从所述外部装置接收的命令的地址信息执行秘密密钥的选择,其中一旦接收到所述命令,所述处理器单元和所述解码器单元同时地分别执行数据 的处理和秘密密钥的选择。
35.如权利要求34所述的存储系统,其中所述主机设备生成对应于用户窗口的接口信号以便改变所述秘密密钥。
36.如权利要求35所述的存储系统,其中 所述解码器单元执行改变后的秘密密钥的选择。
37.—种存储设备,包括密钥单元,用于存储多个秘密密钥;解码器单元,用于根据从外部装置接收的地址信息来选择所述秘密密钥之一; 存储单元,用于存储数据;和控制处理器单元,用于使用所选择的秘密密钥管理来自所述存储单元的读和写数据,其中所述解码器单元独立于所述控制处理器单元选择所述秘密密钥之一。
38.—种固态盘驱动器,包括 密钥单元,用于存储多个秘密密钥;解码器单元,用于根据从外部装置接收的地址信息来选择所述秘密密钥之一; 存储单元,用于存储数据;和控制处理器单元,用于使用所选择的秘密密钥管理来自所述存储单元的读和写数据,其中所述解码器单元独立于所述控制处理器单元选择所述秘密密钥之一。
39.—种数据系统,包括 主机设备,用于生成命令;和存储设备,可连接到所述主机设备,所述存储设备包括 密钥单元,用于存储多个秘密密钥;解码器单元,用于根据从外部装置接收的地址信息来选择所述秘密密钥之一; 存储单元,用于存储数据;和控制处理器单元,用于使用所选择的秘密密钥管理来自所述存储单元的读和写数其中所述解码器单元独立于所述控制处理器单元选择所述秘密密钥之一。
40.—种加密数据的方法,所述方法包括步骤 接收命令;根据所述命令解析地址; 接收逻辑块地址范围;生成与所述逻辑块地址范围对应的密钥标志;和 使用所述密钥标志选择秘密密钥。
41.一种加密数据的方法,所述方法包括步骤 接收写请求;根据所述写请求解析地址; 接收逻辑块地址范围;生成与所述逻辑块地址范围对应的密钥标志; 使用所述密钥标志选择秘密密钥; 使用所述秘密密钥来加密数据;和 将加密后的数据写入存储器。
42.—种解密数据的方法,所述方法包括步骤 接收命令;根据所述命令解析地址; 接收逻辑块地址范围;生成与所述逻辑块地址范围对应的密钥标志;和 使用所述密钥标志选择秘密密钥。
43.—种解密数据的方法,所述方法包括步骤 接收读请求;根据所述读请求解析地址; 接收逻辑块地址范围;生成与所述逻辑块地址范围对应的密钥标志; 使用所述密钥标志选择秘密密钥; 使用所述秘密密钥来解密数据;和 从存储器读取解密后的数据。
44.一种在存储设备中执行加密操作的方法,所述方法包括接收命令;和同时地根据所述命令处理数据并且根据所述命令的地址信息执行秘密密钥的选择。
45. 一种包括计算机可读代码的计算机可读介质,所述计算机可读代码作为用于执行 在存储设备中执行加密操作的方法的程序,所述方法包括 接收命令;和同时地根据所述命令处理数据并且根据所述命令的地址信息执行秘密密钥的选择。
全文摘要
一种存储设备包括存储单元,用于存储数据;处理器单元,用于根据从外部装置接收的命令来处理数据;密钥单元,用于存储多个秘密密钥;和解码器单元,用于根据从所述外部装置接收的命令的地址信息来选择所述秘密密钥之一。硬件加密相对管理而言更安全且不太复杂。
文档编号G06F21/00GK102023935SQ20101029764
公开日2011年4月20日 申请日期2010年9月21日 优先权日2009年9月22日
发明者李愚贤, 柳范锡 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1