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

相关申请的交叉引用

特此要求2020年9月8日提交的标题为“RAPID PURGE(快速清除)”的美国临时专利申请第63/075,435号的申请日的权益,并且该专利申请的说明书通过引用整体并入本文。

背景技术

计算设备可以包括经由总线或其他互连件相互通信的多个子系统。此类计算设备可以是例如便携式计算设备(“PCD”),诸如膝上型或掌上型计算机、蜂窝电话或智能电话、便携式数字助理、便携式游戏控制台等。通信子系统可以被包括在同一集成电路芯片内或不同的芯片中。“片上系统”或“SoC”是集成许多部件以提供系统级功能的此类芯片的示例。

例如,SoC可以包括一种或多种类型的处理器,诸如中央处理单元(“CPU”)、图形处理单元(“GPU”)、数字信号处理器(“DSP”)和神经处理单元(“NPU”)。SoC可以包括其他子系统,诸如提供无线连接的收发器或“调制解调器”、主存储器或系统存储器、一个或多个高速缓冲存储器等。一些子系统可以包括可以与存储器执行存储器事务的处理引擎。PCD和其他计算设备中的系统存储器通常包括动态随机存取存储器(“DRAM”)。除了DRAM之外,或替代DRAM,计算设备可以包括非易失性存储器,诸如快闪存储器。

计算设备可以“删除”数据,诸如当用户请求删除文件时,当应用程序删除它不再需要的临时数据时等。然而,以此方式删除数据并且不会物理地将数据从存储器中移除。而是,以此类方式删除数据仅导致存储器控制器解映射逻辑地址,主机(例如,处理引擎)通过该逻辑地址从标识数据在存储器中物理存储的位置的物理地址中标识数据。此类解映射与称为“垃圾回收”的过程相结合,使得物理位置能够被重新使用。然而,黑客或其他方仍有可能取回已删除或以其他方式解映射的数据(例如,在删除之后但在垃圾回收之前的窗口期间)。

由于机密或其他敏感数据通常被存储在PCD和其他计算设备的存储器中,因此期望防止取回经解映射的数据。“清除”是通常用于指以防止数据被取回的方式从存储器中物理地消除数据的术语。清除快闪存储器颇具挑战性,因为称为写均衡和垃圾回收的特征通常会导致数据的多个副本分布在不同的物理“块”周围。可以通过主机向快闪存储器设备发送清除命令来清除快闪存储器。响应于清除命令,快闪存储器设备可以清除快闪存储器设备中的所有经解映射的块。还可以通过执行所谓的“工厂复位”来清除快闪存储器,其中存储器的所有块都被解映射,随后对经解映射的块进行清除操作。以此方式清除快闪存储器可能花费大量时间,这可能给用户带来不便或相反是不期望的。

发明内容

公开了用于从存储器设备中清除数据的系统、方法、计算机可读介质和其他示例。

用于从存储器设备中清除数据的示例性方法可以包括将逻辑存储器块从存储器设备的多个存储分区的第一存储分区的物理存储器块解映射。该示例性方法还可以包括在与第一存储分区唯一相关联的局部解映射的块列表中列出第一存储分区的解映射的物理存储器块。该示例性方法还可以包括从主机设备接收局部清除命令。该示例性方法还可以包括响应于局部清除命令清除仅在局部解映射的块列表中列出的解映射的物理存储器块的至少一部分。

用于从存储器设备中清除数据的示例性系统可以包括数据存储介质和耦合到该数据存储介质的控制器。控制器可以被配置为将逻辑存储器块从数据存储介质的多个存储分区的第一存储分区的物理存储器块解映射。控制器还可以被配置为在与第一存储分区唯一相关联的局部的经解映射的块列表中列出第一存储分区的经解映射的物理存储器块。控制器还可以被配置为从主机设备接收局部清除命令。控制器还可以被配置为响应于局部清除命令清除仅在局部的经解映射的块列表中列出的经解映射的物理存储器块的至少一部分。

用于从存储器设备中清除数据的另一个示例性系统可以包括用于将逻辑存储器块从存储器设备的多个存储分区的第一存储分区的物理存储器块解映射的部件。该示例性系统还可以包括用于在与第一存储分区唯一相关联的局部解映射的块列表中列出第一存储分区的解映射的物理存储器块的部件。该示例性系统还可以包括用于从主机设备接收局部清除命令的部件。该示例性系统还可以包括用于响应于局部清除命令清除仅在局部解映射的块列表中列出的解映射的物理存储器块的至少一部分的部件。

用于从存储器设备中清除数据的示例性计算机可读介质可以包括其上存储有计算机可执行形式的指令的非暂态计算机可读介质。当由处理器执行时,指令可以将处理器配置为将逻辑存储器块从存储器设备的多个存储分区的第一存储分区的物理存储器块解映射。

这些指令还可以将处理器配置为在与第一存储分区唯一相关联的局部经解映射的块列表中列出第一存储分区的解映射的物理存储器块。该指令还可以将处理器配置为从主机设备接收局部清除命令。这些指令还可以响应于局部清除命令清除仅在局部的经解映射的块列表中列出的经解映射的物理存储器块的至少一部分。

附图说明

在附图中,除非另有说明,否则贯穿各个视图,相同的附图标记指代相同的部件。对于具有字母字符标记的附图标记,诸如“102A”或“102B”,字母字符标记可以区分出现在同一附图中的两个相似的部分或元件。当在所有附图中的附图标记旨在包括具有相同附图标记的所有部分时,可以省略用于附图标记的字母字符标记。

图1是根据示例性实施例的用于存储器设备的存储器映射。

图2是根据示例性实施例的用于从存储器设备中清除数据的系统的框图。

图3是根据示例性实施例的用于从存储器设备中清除数据的方法的流程图。

图4是根据示例性实施例的密钥包装方案图。

图5是根据示例性实施例的用于从存储器设备中清除数据的另一种方法的流程图。

图6是根据示例性实施例的密钥层次图。

图7是根据示例性实施例的便携式计算设备的框图。

图8是根据示例性实施例的局部清除命令的概念图。

具体实施方式

本文使用的词语“示例性”表示“用作示例、实例或说明”。词语“说明性”在本文可以用作“示例性”的同义词。本文描述为“示例性”的任何方面不一定被解释为比其他方面更优选或更有利。

如图1中图示的,存储器映射100表示存储器设备(未图示)中的存储空间。存储器映射100可以包括分区102,诸如第一分区102A、第二分区102B等,直到第N分区102N。术语“第一”、“第二”等在本文中仅用于帮助指代不同的元件,并且不应被解释为暗示任何位置、顺序、次序等。可以存在任何数量(N)的分区102。在图1中以概念性的方式描绘了存储器映射100,并且不旨在指示实际的存储器地址。

数据可以存储在分区102中在本文可以称为块104的位置。也就是说,每个块104具有物理块地址(“PBA”),该物理块地址可以用于向该块104写入数据(也就是说,物理地将数据存储在其中)或从该块104读取数据(也就是说,从中物理地取回数据)。所示的块104仅旨在作为示例,并且在任何分区102中可以有任何数量的块104。

存储器映射100还可以包括与第一分区102A到第N分区102N中的块104的管理相关的区域:全局的已用块列表106、全局的垃圾块列表108和全局的空闲块列表110。块“管理”指的是可以使块104可用于数据存储的过程,诸如当数据被存储在块104中时,在数据被删除之后等。块管理还涉及将标识块104的信息(诸如块地址)从列表106至110中的一个列表移动到列表106至110中的另一个列表。出于下面描述的原因,已用块也可称为经映射的块,并且垃圾块也可以称为经解映射的块。

在图1至图2所示的示例性实施例中,存储器映射100还可以包括仅与第一分区102A中的块104的管理相关的区域:局部的已用块列表112和局部的垃圾块列表114。还可以包括局部空闲块列表116。也就是说,尽管在所示实施例中,全局的已用块列表106、全局的垃圾块列表108和全局的空闲块列表110与所有分区102A至102N相关联,但是在所示实施例中,局部的已用块列表112、局部的垃圾块列表114和局部空闲块列表116仅与第一分区102A相关联。然而,在其他实施例中,此类存储器映射可以省略局部空闲块列表116并且替代地使用全局的空闲块列表110。潜在的问题是,在利用局部空闲块列表116的实施例中,下面描述的局部清除功能的过度使用可能过早地磨损存储器位置,而在省略局部空闲块列表116并且仅利用全局的空闲块列表110的实施例中,磨损均衡可以减轻此类磨损。

如图2所示,在系统200中,快闪存储器设备202耦合到主机系统204。主机系统204可以是例如计算设备或其一部分,诸如处理器子系统、处理引擎等。

在所示实施例中,快闪存储器设备202具有存储器块管理特征并且因此可以是通常称为“受管理的”存储器设备的类型。受管理的存储器设备的示例包括通用快闪存储器(“UFS”)、嵌入式多媒体卡(“eMMC”)、非易失性快速存储器(“NVMe”)等。因此,在系统的其他实施例中,存储器设备可以是任一前述或其他非易失性、受管理的存储器类型。快闪存储器设备202可以包括控制器206。控制器206可以提供与固态存储(例如快闪存储器)驱动器的存储器控制器相关联的功能,包括例如存储器块管理。控制器206可以被配置为执行与快闪存储器驱动器的存储器控制器相关联的常规功能(诸如与写入和读取数据相关联的方面),以及下面描述的与清除经解映射的块相关联的功能。本文不再详细描述本领域普通技术人员很好理解的快闪存储器设备202的常规方面。

快闪存储器设备202还可以包括快闪存储器数据存储介质208。如本领域普通技术人员所理解的,快闪存储器数据存储介质208可以包括(为了清楚起见未示出)一个或多个裸片,每个裸片具有一个或多个平面,每个平面具有一定数量(通常在几千的数量级,但是可能是任意数量)的块,并且每个块具有一定数量(通常在几十的数量级,但是可能是任意数量)的页。

在主机系统204启动时,即响应于主机系统204发出的写入请求(命令),数据可以存储在快闪存储器设备202中。写入命令可以包括一个或多个逻辑块地址(“LBA”),该一个或多个逻辑块地址标识主机系统204请求存储数据的主机或“逻辑”地址空间中的位置。当数据要被存储在快闪存储器设备202中时,控制器206生成每个LBA和一个或多个PBA之间的映射。(块104的)该映射可以存储在与快闪转换层(“FTL”)212相关联的映射表210中,控制器206通过该快闪转换层来配置(例如,通过软件或固件)。已经被映射的块104也可以被称为“已用”块104,即,块104正在使用中。控制器206可以将每个经映射的块104的LBA添加到全局的已用块列表106(图1)中。

快闪存储器设备202还可以具有主机接口214和快闪存储器物理接口216,该快闪存储器物理接口可以包括控制器206的部分。在控制器206的控制下,作为写入请求的主题的数据可以存储在存储介质208中与映射的PBA相对应的位置。本领域普通技术人员很好地理解在控制器206的控制下数据可以从主机系统204传送到存储介质208并且存储在其中的方式的细节(例如,经由主机接口214和快闪存储器物理接口216),并且因此本文不再描述。

主机系统204可以使用LBA来寻址作为读取和写入命令的对象的数据。尽管为了清楚起见没有示出,但是主机系统204的基于应用程序或其他操作中的软件的操作来分配和解除分配LBA的部分通常被称为文件系统。文件系统可以是主机系统204的操作系统的一部分。

通常,快闪存储介质208是不可重写的。而是,数据只能存储在已经被擦除的块104(图1)中。被擦除的块也可以被称为处于“自由”状态。已经被擦除的块104可以被列在全局的空闲列表110(图1)中。在快闪存储介质可重写的实施例中,可以在无需首先擦除块的情况下在全局的空闲列表110中列出块。在响应于写入命令生成上面描述的映射时,控制器206可以从全局的空闲列表110选择PBA。

如本领域普通技术人员所理解的,存储介质208中的物理位置具有有限的寿命。也就是说,在一定次数的存取(例如,擦除和编程快闪存储器命令)之后,每个位置将被磨损到可能不再正常操作的程度。为了减轻此“磨损”效应,快闪存储器控制器可以运行被称为磨损均衡的过程。根据磨损均衡,控制器206可以尝试在所有块104上均匀分布数据以避免一些块104比其他块磨损更多。与上面描述的映射一样,磨损均衡是FTL 212的另一个功能。

从主机系统204的角度来看,存储在快闪存储器设备202中的数据可以被删除。为了以此方式删除数据,主机系统204可以向快闪存储器设备202发出写入命令或擦除命令。写入命令或擦除命令可以包括标识主机系统204请求从中删除数据的位置的一个或多个LBA。响应于写入命令或擦除命令,控制器206可以从映射表210中移除一个或多个PBA与LBA之间的映射。为了清楚起见,由主机系统204发出的使控制器206移除此类映射的命令(例如,写入命令或擦除命令)在本公开中可以被称为“解映射”命令。控制器206还可以将每个经解映射的块104(图1)的PBA从全局的已用块列表106移动到全局的垃圾块列表108。

在通常称为垃圾回收的过程中,控制器206有时可以将全局的已用块列表106中列出的块104中的数据(页)移动到其他块104,并且相应地更新映射表210。此类数据移动的目的是从使用中移除块104中的一些,使得不再使用的那些块104可以被擦除,并且然后重新用于存储新数据。当块104不再包含正在使用的数据时,控制器206可以将该块104的PBA从全局的已用块列表106移动到全局的垃圾块列表108。控制器206可以擦除在全局的垃圾块列表108中列出的块104并且将擦除的块104的PBA移动到全局的空闲块列表110。像上面描述的映射一样,垃圾回收是FTL 212的另一个功能。控制器206可以在后台(即,在主机系统204不与快闪存储器设备202交互的期间的时间)执行垃圾回收。

出于安全原因,可能期望防止从存储介质208中取回经解映射的数据(即,无效或不再使用的数据)。尽管上面描述的解映射防止主机系统204存取数据(由LBA寻址),但是此类解映射不影响存储介质208中数据的物理状态。如果没有下面描述的与清除相关的特征,黑客或其他方可能使用例如软件工具(即,除主机系统204的文件系统之外的软件)从存储介质208中取回经解映射的数据。

诸如“净化(sanitizing)”、“擦除”等术语通常指从存储器中消除解映射数据的物理表现以防止数据被取回。在快闪存储器上执行此类操作可能是具有挑战性的,因为除了其他原因之外,上面描述的磨损均衡、垃圾回收等特征的操作可能导致分布在存储介质208周围的相同数据的多个副本。

受管理的快闪存储器设备(诸如UFS设备)可以实现清除命令,该清除命令在本文可以被称为全局清除命令以将其与下面描述的局部清除命令相区别。响应于主机系统204发出的全局清除命令,控制器206可以擦除所有经解映射的块104。受管理的快闪存储器设备也可以实现格式化单元命令。响应于主机系统204发出的格式化单元命令,控制器206可以擦除所有经解映射的块104(例如,响应于擦除命令),并且然后将各种数据值(诸如,全零、全一、随机数等)写入擦除的块104,以掩盖原始存储的数据的任何其余物理表现。控制器206可以将清除块104的PBA从全局的垃圾块列表108移动到全局的空闲块列表110。

当全局的垃圾块列表108包含许多经解映射的块104时,响应于全局清除命令或格式化单元命令以上面所描述的方式清除它们可能是耗时的。如上面所描述的全局清除操作可能花费例如几个小时量级的时间量。为了提供比全局清除操作更快的清除操作,除了上面所描述的全局清除特征之外,或作为上面所描述的全局清除特征的替代,设备202可以具有以下局部清除特征。

可以被称为“特殊”分区或“局部”分区的分区102中的至少一个分区可以具有不同于其他分区102的一个或多个特征。在所示实施例中,第一分区102A可以是特殊或局部分区,如图1中粗线边界所描绘的。在所示实施例中,第一分区102A的特殊特征包括局部的已用块列表112、局部的垃圾块列表114和局部空闲块列表116。如上所述,在一些实施例中,可以省略局部空闲块列表116。在所示实施例中,除了第一分区102A之外的分区102不包括此类局部的已用块列表、局部的垃圾块列表或局部空闲块列表。

特殊或局部分区,诸如所示实施例中的第一分区102A,可以是诸如重放保护存储器块(“RPMB”)。RPMB是一种经认证的存取分区。当实体的认证成功时,该实体(例如,主机系统204)可以仅被授权存取经认证的存取分区,诸如RPMB。然而,在其他实施例中,特殊分区可以是存储介质的任何分区(有时也称为逻辑单元)。

为了提供局部清除特征,控制器206可以被配置为(例如,通过软件或固件)以类似于上面描述的控制器206响应全局清除命令的方式响应从主机系统204接收到的局部清除命令。然而,在示例性实施例中,与清除在全局的垃圾块列表108中列出的所有块104(图1)的全局清除操作不同,局部清除操作仅清除在局部的垃圾块列表114中列出的块104。因此,在此示例性实施例中,与可以清除第一分区102A到第N分区102N中的任何分区中的块104的全局清除操作不同,局部清除操作可以清除仅在第一分区102A中的块104并且不清除第二分区102B到第N分区102N中的任何分区中的任何块。局部清除操作可以包括控制器206擦除局部的垃圾块列表114中列出的所有块104。局部清除操作还可以包括控制器向那些擦除的块104写入各种数据值(诸如全零、全一、随机数等)以掩盖原始存储数据的任何其余物理表现。控制器206可以将被清除块104的PBA从局部的垃圾块列表114移动到全局的空闲块列表110(或,在一些实施例中,移动到局部空闲块列表116)。因为局部清除操作局限于特殊分区(例如,在此示例性实施例中的第一分区102A),所以局部清除操作可以在比全局清除操作显著更短的时间量内完成。

控制器206可以被配置为以与控制器206一般可以在分区102中执行垃圾回收的上面描述的方式类似的方式在第一分区102A中执行垃圾回收。也就是说,控制器206有时可以将局部的已用块列表112中列出的块104中的数据(页)移动到第一分区102A中的其他块104,并且相应地更新映射表210,目的是从使用中移除第一分区102A中的块104中的一些。当在局部的已用块列表112中列出的块104不再包含在使用中的数据时,控制器206可以将该块104的PBA从局部的已用块列表112移动到局部的垃圾块列表114。控制器206可以擦除在局部的垃圾块列表114中列出的块104并且将那些被擦除的块104的PBA移动到全局的空闲块列表110(或,在一些实施例中,移动到局部空闲块列表116)。

注意的是,尽管垃圾回收和清除操作两者都涉及擦除块104,但是垃圾回收通常导致一次仅擦除经解映射的块104的一小部分。相比之下,清除操作可以擦除所有经解映射的块104:全局清除操作可以擦除在全局的垃圾块列表108中列出的所有经解映射的块104,并且局部清除操作可以仅擦除在局部的垃圾块列表114中列出的经解映射的块104。

除了与第一分区102A相关联的块管理操作可以相应地使用局部的已用块列表112和局部的垃圾块列表114而不是全局的已用块列表106和全局的垃圾块列表108之外,针对第一分区102A的写入操作可以以类似于上面关于任何分区102描述的方式来执行。在一些实施例中,可以使用局部空闲块列表116来代替全局的空闲块列表110,或作为全局的空闲块列表110的补充。因此,响应于从主机系统204接收到写入请求(命令),控制器206可以选择全局的空闲块列表110中列出的一个或多个块104(由PBA标识),生成每个LBA和一个或多个PBA之间的映射,将一个或多个映射存储在映射表210中,将作为写入请求的主题的数据存储在存储介质208中,并且将每个经映射的块104的PBA添加到局部的已用块列表112。如上所述,在示例性实施例中,在第一分区102A中完成写入操作或其他存取的先决条件或条件是主机系统204的成功认证。然而,在其他实施例中,特殊分区可能不是经认证的存取块,并且因此在此类其他实施例中,对于主机系统存取特殊分区可能不需要认证。

在图3中,以流程图的形式图示了用于从具有两个或更多存储分区的存储器设备中清除数据的方法300。如框302所指示,LBA可以从存储器设备的存储分区的物理存储器块解映射。该存储分区可以是例如如上面关于图2所描述的特殊分区(例如,第一分区102A)。如框304所指示,该存储分区的经解映射的物理存储器块可以列在与该存储分区唯一相关联的局部的经解映射的块列表中。如框306所指示,可以从主机设备接收局部清除命令。如块308所指示,响应于局部清除命令,可以清除仅在局部经解映射的块列表中列出的经解映射的物理存储器块。也就是说,在任何其他解映射的块列表中列出的解映射的物理存储器块(诸如全局的经解映射的块列表),可能不会响应于此局部类型的清除命令而被清除。在一些实施例中,除了可以清除覆盖存储器设备的所有分区的全局的经解映射的块列表中列出的解映射的物理存储器块的方法(未示出)之外,还可以提供方法300。应当理解,尽管上面以有助于引导读者通过方法300的示例的示例性顺序描述了框302至308,但是上面结合框302至308描述的动作可以以产生相同或类似结果的任何顺序发生。

方便地,局部清除特征可以实际上用于清除存储在第二分区102B到第N分区102N中的经加密的数据。该特征有时被称为加密清除(cryptographic purge)。尽管局部清除操作可能实际上仅清除第一分区102A中的数据块104,但是在第一分区102A中的数据块104用于存储与第二分区102B到第N分区102N中的任何分区中的数据块104中存储的经加密的数据相关联的密钥信息的实施例中,清除密钥信息实际上清除了与密钥信息相关联的经加密的数据。在图1中,在概念上由虚线箭头指示通过第一分区102A中的其他示例性数据块104中的密钥信息加密第二分区102B到第N分区102N中的一些示例性数据块104中的数据。加密密钥可以通过有时称为密钥包装的技术以加密形式存储。

如图4中所示,密钥包装方案400可以涉及几种类型的密钥和几种操作或功能。可以在主机系统204(图2)中提供密钥包装方案400。密钥导出函数402可以对包括种子403(即,随机生成的数字)、唯一硬件密钥404和用户证书(或上下文)的输入进行操作以产生密钥包装密钥406。密钥生成器408可以产生(随机)存储加密密钥410。密钥包装函数412可以对包括密钥包装密钥406和存储加密密钥410的输入进行操作以产生经包装的存储加密密钥414。经包装的存储加密密钥414和种子403可以以有时称为二进制大对象或“blob”的形式存储在块104中。上面提到的“密钥信息”可以包括经包装的存储加密密钥414、该密钥414的种子403或能够恢复经加密的数据的其他信息。在示例性实施例中,存储在分区102B至102N中的块104中的所有数据可以由存储在第一分区102A中的块104中的密钥(例如,以密钥块的形式)加密。在此类实施例中,清除包含密钥信息的第一分区102A实际上(或从加密的角度来看)清除了所有分区102A至102N,因为没有密钥信息就不能取回数据。如上所述,仅清除第一分区102A可能比清除所有分区102A至102N快得多。

在图5中,以流程图的形式图示了用于从具有两个或更多存储分区的存储器设备中清除数据的方法500。如框502所指示,可以使用对应的密钥来加密数据以形成经加密的数据单元。如框504所指示,密钥信息可以存储在第一存储分区中。与存储器设备的一些其他(第二、第三等)存储分区相比,此第一存储分区可以是例如上面关于图2描述的特殊分区(例如,第一分区102A)。如框506所指示,经加密的数据单元可以存储在存储器设备的另一个(第二)存储分区中。

如框508所指示,与密钥相关联的逻辑存储器块可以从存储了密钥信息的物理存储器块解映射(框504)。如框510所指示,第一存储分区的经解映射的物理存储器块可以列在与第一存储分区唯一相关联的局部解映射的块列表中。如框512所指示,可以从主机设备接收局部清除命令。如框514所指示,响应于局部清除命令,仅在局部经解映射的块列表中列出的经解映射的物理存储器块(并且因此包括其中存储了密钥信息的解映射的物理存储器块)可以被清除。也就是说,在任何其他解映射的块列表中列出的解映射的物理存储器块(诸如全局的经解映射的块列表),可能不会响应于局部清除命令而被清除。在一些实施例中,除了可以清除覆盖存储器设备的所有分区的全局的经解映射的块列表中列出的经解映射的物理存储器块的方法(未示出)之外,还可以提供方法500。应当理解,尽管上面以有助于引导读者通过方法500的示例的示例性顺序描述了框502至514,但是上面结合框502至514描述的动作可以以产生相同或类似结果的任何顺序发生。

在图6中,密钥层次600图示了上述密钥可以是任何类型。例如,上面提到的密钥可以是以下任一者:用户密钥602(例如,与第一用户相关联的第一用户密钥602A、与第二用户相关联的第二用户密钥602B等);应用程序专用密钥604(例如,与第一应用程序相关联的第一应用程序专用密钥604A、与第二应用程序相关联的第二应用程序专用密钥604B等);或文件夹密钥606(例如,与第一应用程序的第一文件夹相关联的第一文件夹密钥606A,与第一应用程序的第二文件夹相关联的第二文件夹密钥606B等)。

可以由主机系统204(图2)的密钥管理系统(未示出)在存储器设备的上面描述的特殊分区中维护密钥层次600。每个用户密钥602对于主机系统204上的应用程序的用户可以是唯一的。密钥管理系统可以使用用户密钥602来包装应用程序专用密钥604,并且可以使用应用程序专用密钥604来包装文件夹密钥606。当应用程序删除由文件夹密钥606保护的文件夹时,密钥管理系统可以生成新的应用程序专用密钥604,并且重新包装所有相关联的文件夹密钥606。当不同的用户需要存取应用程序时,密钥管理系统可以使用该用户的用户密钥602来包装应用程序专用密钥604。当用户不再需要存取应用程序时,密钥管理系统可以从存储密钥的特殊分区中移除该用户的用户密钥602。从特殊分区中移除密钥可以包括将包含该密钥的块解映射。密钥管理系统可以以上面所描述的方式清除特殊分区(从而清除所有经解映射的密钥)。密钥管理系统可以在任何时间(诸如例如每小时、每天等,或当包含密钥的块被解映射时)清除特殊分区。

在一些实施例,诸如其中利用局部空闲块列表而不是全局的空闲块列表的实施例中可以包括清除计数特征。再次参考图2,主机系统204的密钥管理系统(未示出)可以基于快闪存储介质208(图2)能够进行的寿命擦除循环的次数和特殊分区已经经历的清除操作的总数来确定清除特殊分区的频率。快闪存储器设备202可以包括清除计数器218。每当控制器206在特殊分区上执行清除操作时,控制器206可以增加清除计数器218。响应于从主机系统204接收到的局部清除命令,控制器206不仅可以执行清除操作而且还可以将清除计数器218中的清除计数或值返回给主机系统204。基于该清除计数(或结合其他信息的清除计数,诸如快闪存储器设备能够进行的寿命擦除周期的数量),密钥管理系统可以确定何时启动下一个清除操作。

如图7中所示,可以在便携式计算设备(“PCD”)700中提供用于从存储器设备中清除数据的系统和方法的示范性实施例。为了清楚起见,在图7中未示出数据总线或其他数据通信互连件。针对上下文描述了一些示例性互连,该互连中的一些可以表示经由此类总线或互连件的通信。然而,应当理解,更一般地,下面描述的各种元件可以经由一个或多个总线或系统互连相互通信。

PCD 700可以包括SoC 702。SoC 702可以包括CPU 704、GPU706、DSP 707、模拟信号处理器708或其他处理器。CPU 704可以包括多个核,诸如第一核704A、第二核704B等,直到第N核704N。

显示器控制器710和触摸屏控制器712可以耦合到CPU 704。SoC702外部的触摸屏显示器714可以耦合到显示器控制器710和触摸屏控制器712。PCD 700还可以包括耦合到CPU 704的视频解码器716。视频放大器718可以耦合到视频解码器716和触摸屏显示器714。视频端口720可以耦合到视频放大器718。通用串行总线(“USB”)控制器722也可以耦合到CPU 704,并且USB端口724可以耦合到USB控制器722。订户标识模块(“SIM”)卡726也可以耦合到CPU704。

一个或多个存储器可以耦合到CPU 704。一个或多个存储器可以包括易失性和非易失性存储器两者。易失性存储器的示例包括静态随机存取存储器(“SRAM”)728和动态RAM(“DRAM”)730和731。此类存储器可以在SoC 702的外部,诸如DRAM 730,或在SoC702的内部,诸如DRAM 731。耦合到CPU 704的DRAM控制器732可以控制向DRAM 730和731写入数据以及从DRAM 730和731读取数据。在其他实施例中,此类DRAM控制器可以被包括在处理器内,诸如CPU 704。

PCD 700可以包括快闪存储器设备733,诸如耦合到SoC 702的芯片。快闪存储器设备733可以经由例如输入/输出(“I/O”)接口735耦合到CPU 704。I/O接口735可以包括总线(诸如外围部件互连快速(“PCIe”)总线)或与CPU 704的任何其他类型的互连件。快闪存储器设备733可以是上面关于图2描述的快闪存储器设备202的示例。尽管在该实施例中,快闪存储器设备202包括控制器206(图2),但是在其他实施例中,此类控制器可以包括在SoC中。CPU 704和相关部件可以被配置为提供上面所描述的主机系统功能。

立体声音频CODEC 734可以耦合到模拟信号处理器708。此外,音频放大器736可以耦合到立体声音频CODEC 734。第一立体声扬声器738和第二立体声扬声器740可以相应地耦合到音频放大器736。另外,传声器放大器742可以耦合到立体声音频CODEC 734,并且传声器744可以耦合到传声器放大器742。调频(“FM”)无线电调谐器746可以耦合到立体声音频CODEC 734。FM天线748可以耦合到FM无线电调谐器746。此外,立体声耳机750可以耦合到立体声音频CODEC 734。可以耦合到CPU 704的其他设备包括一个或多个数字(例如,CCD或CMOS)相机752。

调制解调器或RF收发器754可以耦合到模拟信号处理器708和CPU 704。RF开关756可以耦合到RF收发器754和RF天线758。另外,小键盘760、具有传声器的单声道耳机762和振动器设备764可以耦合到模拟信号处理器708。

SoC 702可以具有一个或多个内部或片上热传感器770A并且可以耦合到一个或多个外部或片外热传感器770B。模数转换器(“ADC”)控制器772可以将热传感器770A和770B产生的电压降转换成数字信号。电源774和电源管理集成电路(“PMIC”)776可以向SoC 702供电。

固件或软件可以被存储在任何上面描述的存储器(诸如DRAM730或731、SRAM 728等)中,或可以被存储在可由软件或固件在其上执行的处理器硬件直接存取的局部存储器中。此类固件或软件的执行可以控制任何上面描述的方法的方面或配置任何上面描述的系统的方面。任何此类存储器或具有以计算机可读形式存储在其中用于由处理器硬件执行的固件或软件的其他非暂态存储介质可以是“计算机可读介质”的示例,正如该术语在专利词典中所理解的那样。

上面描述的局部清除命令可以包括在快闪存储器标准(诸如UFS标准)覆盖的一组命令中。除了上面描述的全局清除命令之外,局部清除命令可以包括在(例如,UFS)命令集中。图8中以概念形式示出了局部清除命令的示例800。如上面所描述的,特殊或局部分区可以是RPMB。与可能不带自变量的全局清除命令相反,局部清除命令可带指定局部分区内的区域(即,RPMB块的子集)的自变量。例如,主机可以设置自变量的值来标识以下任一者:跨越RPMB的块0到块2的第一区域(RMPB区域_0);跨越RPMB的块3到块7的第二区域(RMPB区域_1);跨越RPMB的块8到块9的第三区域(RMPB区域_2);跨越RPMB的块10到块14的第四区域(RMPB区域_3)等。图8中示出的区域仅作为示例,并且使用局部清除命令自变量,主机可以将任何块的组定义为此类区域。响应于从主机接收到的局部清除命令,诸如UFS设备的快闪存储器设备可以仅清除由局部清除命令中的自变量的值所标识的那些块。以此方式,主机可以清除局部分区(例如,RPMB)中的所有块或仅块的子集。

对于本公开本领域的普通技术人员来说,备选实施例将变得显而易见。因此,尽管已经详细图示并描述了所选择的方面,但是应理解,可以在其中进行各种替换和变更。

在以下编号的条款中描述了实现示例:

1.一种用于从存储器设备中清除数据的方法,其包括:

将逻辑存储器块从存储器设备的多个存储分区的第一存储分区的物理存储器块解映射;

在与第一存储分区唯一相关联的局部的经解映射的块列表中列出第一存储分区的经解映射的物理存储器块;

从主机设备接收局部清除命令;以及

响应于局部清除命令清除在局部的经解映射的块列表中列出的经解映射的物理存储器块的至少一部分。

2.根据条款1所述的方法,其中该存储器设备是非易失性的。

3.根据条款1至2中任一项所述的方法,其中第一存储分区是经认证的存取分区。

4.根据条款1至3中任一项所述的方法,其中第一存储分区是重放保护存储器块。

5.根据条款1至4中任一项所述的方法,还包括在局部空闲块列表中列出被清除的物理存储器块,其中该局部空闲块列表与该第一存储分区唯一地相关联。

6.根据条款1至5中任一项所述的方法,其中全局的经解映射的块列表和全局的空闲块列表与除第一存储分区之外的多个存储分区相关联,并且还包括从主机设备接收全局清除命令,并且响应于该全局清除命令清除该全局的经解映射的块列表中列出的所有经解映射的物理存储器块。

7.根据条款1至6中任一项所述的方法,还包括:

使用对应的多个密钥形成多个经加密的数据单元;

将与多个密钥相关联的密钥信息存储在第一存储分区中;以及

将多个经加密的数据单元存储在多个存储分区的第二存储分区中;

其中将逻辑存储器块从第一存储分区的物理存储器块解映射包括:将与多个密钥相关联的逻辑存储器块从存储密钥信息的物理存储器块解映射;

其中清除在局部的经解映射的块列表中列出的经解映射的物理存储器块包括清除存储密钥信息的物理存储器块。

8.根据条款1至7中任一项所述的方法,还包括:

响应于局部清除命令向主机系统提供清除计数;以及

响应于局部清除命令增加清除计数。

9.根据条款1至8中任一项所述的方法,其中接收局部清除命令包括接收经解映射的物理存储器块的要清除的部分的指示。

10.一种用于从存储器设备清除数据的系统,包括:

数据存储介质;以及

控制器,耦合到该数据存储介质,该控制器被配置为:

将逻辑存储器块从数据存储介质的多个存储分区的第一存储分区的物理存储器块解映射;

在与第一存储分区唯一相关联的局部的经解映射的块列表中列出第一存储分区的经解映射的物理存储器块;

从主机设备接收局部清除命令;以及

响应于局部清除命令清除在局部的经解映射的块列表中列出的经解映射的物理存储器块的至少一部分。

11.根据条款10所述的系统,其中该数据存储介质是非易失性的。

12.根据条款10至11中任一项所述的系统,其中第一存储分区是经认证的存取分区。

13.根据条款10至12中任一项所述的系统,其中第一存储分区是重放保护存储器块。

14.根据条款10至13中任一项所述的系统,其中该控制器还被配置为在局部空闲块列表中列出被清除的物理存储器块,其中该局部空闲块列表与该第一存储分区唯一地相关联。

15.根据条款10至14中任一项所述的系统,其中全局的经解映射的块列表和全局的空闲块列表与除第一存储分区之外的多个存储分区相关联,并且控制器还被配置为:从主机设备接收全局清除命令并且响应于全局清除命令清除全局的经解映射的块列表中列出的所有经解映射的物理存储器块。

16.根据条款10至15中任一项所述的系统,其中该控制器还被配置为:

使用对应的多个密钥形成多个经加密的数据单元;

将与多个密钥相关联的密钥信息存储在第一存储分区中;以及

将该多个经加密的数据单元存储在该多个存储分区的第二存储分区中;

其中该控制器被配置为通过被配置为从存储该密钥信息的物理存储器块中将与该多个密钥相关联的逻辑存储器块解映射,以从该第一存储分区的物理存储器块中将逻辑存储器块解映射;

其中该控制器被配置为由被配置为清除存储该密钥信息的物理存储器块来清除在该局部的经解映射的块列表中列出的经解映射的物理存储器块。

17.根据条款10至16中任一项所述的系统,其中该控制器被还被配置为:

响应于局部清除命令向主机系统提供清除计数;以及

响应于局部清除命令增加清除计数。

18.根据条款10至17中任一项所述的系统,其中该局部清除命令包括经解映射的物理存储器块的要清除的部分的指示。

19.一种用于从存储器设备中清除数据的系统,包括:

用于将逻辑存储器块从存储器设备的多个存储分区的第一存储分区的物理存储器块解映射的部件;

用于在与第一存储分区唯一相关联的局部的经解映射的块列表中列出第一存储分区的经解映射的物理存储器块的部件;

用于从主机设备接收局部清除命令的部件;以及

用于响应于局部清除命令清除在局部的经解映射的块列表中列出的经解映射的物理存储器块的至少一部分的部件。

20.根据条款19所述的系统,其中该存储器设备是非易失性的。

21.根据条款19至20中任一项所述的系统,其中第一存储分区是经认证的存取分区。

22.根据条款19至21中任一项所述的系统,其中第一存储分区是重放保护存储器块。

23.根据条款19至22中任一项所述的系统,还包括用于在局部空闲块列表中列出被清除的物理存储器块的部件,其中该局部空闲块列表与该第一存储分区唯一地相关联。

24.根据条款19至23中任一项所述的系统,其中全局的经解映射的块列表和全局的空闲块列表与除第一存储分区之外的多个存储分区相关联,用于接收的部件还用于从该主机设备接收全局清除命令,并且该用于清除的部件还用于响应于该全局清除命令清除全局的经解映射的块列表中列出的所有解映射的物理存储器块。

25.根据条款19至24中任一项所述的系统,还包括:

用于使用对应的多个密钥形成多个经加密的数据单元的部件;

用于在第一存储分区中存储与多个密钥相关联的密钥信息的部件;以及

用于将多个经加密的数据单元存储在多个存储分区的第二存储分区中的部件;

其中用于将逻辑存储器块从第一存储分区的物理存储器块解映射的部件包括:用于将与多个密钥相关联的逻辑存储器块从存储密钥信息的物理存储器块解映射的部件;

其中用于清除在局部的经解映射的块列表中列出的经解映射的物理存储器块的部件包括用于清除存储密钥信息的物理存储器块的部件。

26.根据条款19至25中任一项所述的系统,还包括:

用于响应于局部清除命令向主机系统提供清除计数的部件;以及

用于响应于局部清除命令增加清除计数的部件。

27.根据条款19至26中任一项所述的系统,其中该局部清除命令包括经解映射的物理存储器块的要清除的部分的指示。

28.一种用于从存储器设备中清除数据的计算机可读介质,包括其上存储有计算机可执行形式的指令的非暂态计算机可读介质,该指令在由处理器执行时,将处理器配置为:

将逻辑存储器块从存储器设备的多个存储分区的第一存储分区的物理存储器块解映射;

在与第一存储分区唯一相关联的局部的经解映射的块列表中列出第一存储分区的经解映射的物理存储器块;

从主机设备接收局部清除命令;以及

响应于局部清除命令清除在局部的经解映射的块列表中列出的经解映射的物理存储器块的至少一部分。

29.根据条款28所述的计算机可读介质,其中该存储器设备是非易失性的。

30.根据条款28至29中任一项所述的计算机可读介质,其中第一存储分区是经认证的存取分区。

31.根据条款28至30中任一项所述的计算机可读介质,其中第一存储分区是重放保护存储器块。

32.根据条款28至31中任一项所述的计算机可读介质,其中该指令还将该处理器配置为在局部空闲块列表中列出被清除的物理存储器块,其中该局部空闲块列表与该第一存储分区唯一地相关联。

33.根据条款28至32中任一项所述的计算机可读介质,其中全局的经解映射的块列表和全局的空闲块列表与除第一存储分区之外的多个存储分区相关联,并且该指令还将处理器配置为从主机设备接收全局清除命令,并且响应于全局清除命令清除全局的经解映射的块列表中列出的所有经解映射的物理存储器块。

34.根据条款28至33中任一项所述的计算机可读介质,其中该指令还将处理器配置为:

使用对应的多个密钥形成多个经加密的数据单元;

将与多个密钥相关联的密钥信息存储在第一存储分区中;以及

将该多个经加密的数据单元存储在该多个存储分区的第二存储分区中;

其中该指令将该处理器配置为通过将该处理器配置为将与该多个密钥相关联的逻辑存储器块从存储该密钥信息的物理存储器块解映射,以将逻辑存储器块从该第一存储分区的物理存储器块解映射;

其中该指令将该处理器配置为:通过将该处理器配置为清除存储该密钥信息的物理存储器块来清除在该局部的经解映射的块列表中列出的经解映射的物理存储器块。

35.根据条款28至34所述的计算机可读介质,其中该局部清除命令包括解映射的物理存储器块的要清除的部分的指示。

36.一种受管理的快闪存储器设备,包括:

多个分区,多个分区中的至少一个分区具有与其唯一相关联的局部的经解映射的块列表,除了多个分区中的至少一个分区之外的多个分区具有与其相关联的全局的经解映射的块列表;

其中受管理的快闪存储器设备被配置为:

从主机设备接收局部清除命令,并且响应于该局部清除命令,清除仅在局部的经解映射的块列表中列出的经解映射的物理存储器块的至少一部分;以及

从主机设备接收全局清除命令,并且响应于该全局清除命令,清除在全局的经解映射的块列表中列出的所有经解映射的物理存储器块。

37.根据条款36所述的受管理的快闪存储器设备,其中该多个分区中的至少一个分区由重放保护存储器块组成。

相关技术
  • 包括快闪转换层的快闪存储器及其中存储文件的方法
  • 包括快闪转换层的快闪存储器及其中存储文件的方法
技术分类

06120115928450