固态硬盘的物理安全擦除的制作方法

文档序号:16148076发布日期:2018-12-05 16:54阅读:2054来源:国知局
固态硬盘的物理安全擦除的制作方法

本公开的实施例总体上涉及固态硬盘的物理安全擦除。

背景技术

从固态硬盘(ssd)安全擦除数据在保护敏感信息方面是重要的。主机可发出物理安全擦除(pse)命令给需要破坏数据的ssd。pse操作可涉及擦除操作和随后的对区块的闪存写入操作。然而,即使在这种pse操作之后,一些数据仍能够被读出。因此,需要一种执行pse的改进方法以及一种执行pse的改进的ssd。



技术实现要素:

本公开的实施例涉及固态硬盘的pse。ssd的pse的方法的一个实施例包括接收pse命令、对区块的存储单元执行擦除操作、对区块的存储单元执行存储编程操作以及对区块的一部分执行到多个选择门的选择门编程操作。ssd的一个实施例包括控制器和具有多个nand串的多个区块。每个nand串包括串联连接的选择栅漏、多个存储单元和选择栅源。ssd包括存储擦除指令,其在由控制器执行时,导致控制器对区块的存储单元执行擦除操作、对区块的存储单元编程以及对来自区块的一些nand串的选择栅漏和/或选择栅源增加阈值电压。非暂时性计算机可读存储介质的一个实施例包括包含指令的存储介质,该指令被控制器执行时,对区块的多个存储单元执行擦除操作、对区块的存储单元执行闪存写入操作以及增加来自区块的坏掉的一部分的多个选择门的阈值电压。固态硬盘的另一实施例包括控制器、用于在多个存储单元中存储数据的器件以及存储擦除指令,存储擦除指令在被控制器执行时,导致控制器对存储单元的第一部分进行擦除和编程,并放弃存储单元的不可读的第二部分。

附图说明

对于详细理解本公开的上述特征的方式,可以参考实施例更具体地描述本公开(上面简要总结),一些实施例在附图中示出。然而,应注意,附图仅示出本公开的典型实施例,因此不被认为限制其范围,因为本公开可涵盖其它等同有效实施例。

图1是根据一个实施例的ssd的示意图。

图2是二维存储阵列的一个示例的示意图。

图3是三维存储阵列的一个示例的示意图。

图4是示出ssd的pse的一个实施例的流程图。

图5是示出ssd的pse的另一实施例的流程图。

图6是存储单元的存储状态的一个示例的示意图。

图7是存储阵列的编程选择门的一个示例的示意图。

为了便于理解,可能的话,使用相同的参考标号来表示附图中共同的相同元件。可设想的是,在一个实施例中公开的元件可以有益地用在其它实施例中,而不用明确引用。

具体实施方式

下面,参考本公开的各实施例。然而,应理解的是,本公开不限于具体所述实施例。实际上,下列特征和元件(不管是否涉及不同实施例)的任何组合被理解为执行和实施本公开。而且,尽管本公开的各实施例可获得优于其它可能方案和/或现有技术的优点,但是是否由给定实施例独特定优点不限制本公开。因此,下列方面、特征、实施例和优点仅是说明性的,不被认为是权利要求的元件或限制,除非在权利要求中明确引用。类似地,对“本公开”的参考不应被理解为本文公开的任何创造性主题的概括,不应被认为是权利要求的元件或限制,除非在权利要求中明确引用。

图1是适于实施本发明的ssd90的一个实施例的示意图。ssd90利用主机90经由主机接口操作。ssd90可以是可移除存储器的形式,比如存储卡,或者可以是嵌入式存储系统的形式。ssd90包括由控制器100控制的非易失性存储器102。非易失性存储器102包括非易失性存储单元的一个或多个阵列。控制器100包括接口电路110、处理器120、rom(只读存储器)122、ram(随机存取存储器)130和未示出的额外部件。

非易失性存储器102可以构造成用于信息的长期数据存储,并在通电/断电周期之后保留信息。非易失性存储器可包括一个或多个存储装置。非易失性存储装置的示例包括闪存、相变存储器、reram存储器、mram存储器、电可编程只读存储器(eprom)、电可擦可编程只读存储器(eeprom)和其它固态存储器。非易失性存储装置还可具有不同构造。例如,闪存装置可以构造在nand或nor构造中。

多个存储单元可以构造成它们作为一组被访问或者被单独地访问。例如,nand构造中的闪存装置通常包含串联连接的存储单元。nand存储阵列可构造成该阵列由多个存储串构成,该串由共享单个位线且作为一组被访问的多个存储单元构成。替代地,存储元件可以构造成每个元件被单独地访问,比如在nor构造中。除了nand或nor存储构造之外的存储构造是可能的。

存储单元可以布置在二维或三维中,比如二维存储阵列或三维存储阵列。图2是二维存储阵列210的一个示例的示意图,比如2d或平面nand存储阵列。存储阵列210包括一组nand串250。每个nand串250包括存储单元260a、260b、260c、260d至260n。每个nand串250包括选择栅漏晶体管(sgd)220和选择栅源晶体管(sgs)230。存储阵列210包括多个页面290。页面290由共同连接到字线270的页面的单元的控制门访问,每个单元经由位线280访问。在其它实施例中,存储单元可以其它构造布置。

图3是三维存储阵列310的一个示例的示意图,比如3d或垂直nand存储阵列或bics2单元阵列,如所示。存储阵列310由多个页面390构成。每个页面390包括一组nand串350(示出四个nand串)。每组nand串350共同连接到位线380。每个nandk中350包括选择栅漏晶体管(sgd)320、多个存储单元360a、360b、360n以及选择栅源晶体管(sgs)330。一排存储单元共同连接到字线370。

图2和3所示存储单元260、360由晶体管构成,晶体管具有电荷储存元件以存储表示存储状态的给定量的电荷。存储单元可以在单层单元(slc)(每单元存储存储器的1位)、mlc或x2单元(每单元存储存储器的2位)、x3单元(每单元存储存储器的3位)、x4单元(每单元存储存储器的4位)或每单元存储任意数量的位的任何类型的存储单元中操作。sgd220、320和sgs320、330是电压水平还被编程至某一阈值电压水平的晶体管。sgd220、320将nand串250、350的漏极连接到位线280、380或者使nand串250、350的漏极与位线280、380隔离。sgs230、330将nand串250、350的源极连接到源线285、3851或者使nand串250、350的源极与源线285、385隔离。sgd和sgs使字线270、370达到读取、编程和擦除操作的条件。

为了从nand构造中的存储单元260、360正确地读取数据,必须满足下列要求:(1)字线中的阈值电压分布位于恰当状态;(2)sgd中的阈值电压分布位于恰当水平;以及(3)sgs中的阈值电压分布位于恰当水平。缺少这些要求中的任一的情况下,数据都不可读。

图2和图3的页面290、390是作为一组被编程的存储单元组。多个页面290、390构成区块295、395。单独区块295、395中的存储单元被一起擦除。页面是最小的写入单元,区块是最小的擦除单元。

本公开不限于图2和图3所述的二维和三维存储阵列,而是涵盖本领域技术人员所理解的所有相关存储结构。其它三维阵列是可能的,比如形成为u形的nand串。其它存储阵列是可能的,比如nor构造中的存储阵列或由reram存储单元制成的存储阵列。多个二维存储阵列或三维存储阵列(单片式或非单片式)可以形成在分离的芯片上,然后一起封装以形成堆叠芯片存储装置。多个存储阵列可以一起联接以形成固态硬盘的非易失性存储器。

主机(比如图1的主机80)可发出pse命令给固态硬盘90,以物理地擦除固态硬盘上的任何存储数据,使得任何存储的数据不能被任何方法读出。

图4是示出ssd的pse的一个实施例的流程图400。为了说明目的,参考图1的ssd90来描述各实施例,该ssd90包含非易失性存储器,比如图2的二维闪存阵列210或图3的三维闪存单元阵列310。ssd的pse的实施例可以在ssd的其它非易失性存储器以及其它类型和构造上执行。pse由ssd90的控制器100执行。控制器100通过计算机、硬件、处理器(例如微处理器)和/或机器执行非易失性机器可读介质中的机器可执行指令,以执行流程图400中的一个或多个块,比如执行存储在rom122和/或nvm102中的固件。

在块410,ssd90从主机80接收pse命令,以破坏非易失性存储器102中的任何长期存储数据或者使非易失性存储器102中的任何长期存储数据不可访问。

在块420,ssd90对ssd90的区块295、395执行区块擦除操作。区块擦除操作可以通过将一区块中的存储单元260、360的阈值电压水平设定为擦除状态而执行。图6示出mlc闪存单元的擦除状态的示例。每单元存储任何数量的位的任何类型的存储单元也是可用的。

在某些实施例中,ssd90的区块295、395的区块擦除排除擦除非易失性存储器的系统数据(即保留存储坏区块、停工区块、局部块区块、局部停工区块的映射的存储单元)。在某些实施例中,ssd90的区块295、395的区块擦除包括擦除非易失性存储器的系统区域的某些部分(即擦除逻辑-物理地址映射表)。

在块430,ssd90对ssd90的区块295、395执行存储编程操作。例如,可以执行闪存写入以将存储单元推出擦除状态。闪存写入可以通过在发送一个或多个编程脉冲至区块中的所有存储单元的同时编程区块295、395中的所有页面(page)来执行。例如,闪存写入可以将存储单元的阈值电压水平设定为高于擦除状态的任何状态。

在某些实施例中,ssd90的区块295、395的存储编程操作排除编程非易失性存储器的系统区域。在某些实施例中,ssd90的区块295、395的编程包括编程非易失性存储器的系统区域的某些部分。

在块440,ssd90识别区块290、390的哪一部分在块420中使擦除操作失效和/或在块430中使编程失效。如果存储单元260、360完成块420处的擦除操作,并完成块430处的编程操作,则数据不太可能被读取,ssd行进到块470。如果存储单元260、360使擦除操作失效,那么数据仍可从存储单元中读取。如果存储单元260、360使编程操作失效,那么数据仍可从存储单元中读取。控制器100识别哪个存储单元260、360使块420处的擦除操作和块430处的编程操作之一或两者失效,以进一步对包含存储单元的nand串执行操作以使任何剩余数据不可读。

在块440中识别的存储单元可以与坏nand串250、350、坏页面250、350或坏区块295、395相关联。在块440中识别的区块的一部分指的是区块的子集。区块的一部分可以包括局部区块,其中,区块的一个部分仍发挥作用,并可再次用于数据的长期存储,区块的第二部分不发挥作用,不能再次用于数据的长期存储。

在块450,ssd90通过编程图2和图3的sgd220、320和/或sgs230、330对在块440中识别的区块290、390的该部分执行选择门编程操作。图7是编程存储阵列的选择门的一个示例的示意图,比如编程图2和图3的sgd220、320和/或sgs230、330。选择门在读取操作中位于阈值电压水平710。在图4的块450中,在块440中识别的区块的该部分的sgd和/或sgs被编程至增加的阈值电压720。sgd、sgs或两者的阈值电压vt增加以使字线不可访问(即不能被正确地读取)。选择晶体管的阈值电压增加到高于读取操作的期望范围的水平。在一个实施例中,包含使擦除操作失效和/或使编程操作失效的存储单元的nand串的sgd的阈值电压增加到高于读取水平,以使区块的一部分中的数据不可访问。在一个实施例中,包含使擦除操作失效和/或使编程操作失效的存储单元的nand串的sgs的阈值电压增加到高于读取水平,以使区块的一部分中的数据不可访问。在一个实施例中,包含使擦除操作失效和/或使编程操作失效的存储单元的nand串的sgd和sgs的阈值电压增加到高于读取水平,以使区块的一部分中的数据不可访问。在读取操作中,选择晶体管通常对于平面nand位于约1v,对于3dnand位于约3v。在某些实施例中,sgd、sgs或两者的阈值电压增加到约4v或更高,优选地约6v或更高,使得字线不可访问。

在块470,ssd90被安全地更新。区块的不具有在块450中被编程的选择门的其它部分可以随后重新用在长期数据存储中。流程图400可包括其它额外的块以执行pse。

图5是示出ssd的pse的另一实施例的流程图500。为了说明目的,参考图1的ssd90来描述各实施例,ssd90包含非易失性存储器,比如图2的二维闪存阵列210或图3的三维闪存阵列310。ssd的pse的实施例可以在ssd的其它非易失性存储器以及其它类型和构造上执行。pse由ssd90的控制器100执行。控制器100通过计算机、硬件、处理器(例如微处理器)、和/或机器来执行非易失性机器可读介质中的机器可读指令,以执行流程图500中的一个或多个块,比如执行存储在rom122和/或nvm102中的固件。

在块510,ssd90从主机80接收pse命令,以破坏非易失性存储器102中的任何长期存储数据或者使非易失性存储器102中的任何长期存储数据不可访问。

在块520,ssd90确定非易失性存储器102的区块的哪一部分发挥作用(即好的)以及区块的哪一部分没有发挥作用(即坏的)。区块的一部分可以包括局部区块,在局部区块中,区块的一个部分仍发挥作用,并可重新用于数据的长期存储,区块的第二部分不发挥作用,不能重新用于数据的长期存储。ssd90的控制器100可存储描绘出非易失性存储器102中的区块的哪一部分是好的以及非易失性存储器102中的区块的哪一部分是坏的之表。

在块530,ssd90执行对ssd90的区块295、395的好部分执行区块擦除操作。区块擦除操作可以通过将区块中的存储单元260、360的阈值电压水平设定为擦除状态来执行。图6示出mlc闪存单元的擦除状态的示例。每单元存储任何数量的位的任何类型的存储单元也是可用的。在某些实施例中,局部好的-坏的区块以及局部停工区块的仍发挥作用的那部分也经受区块擦除。

在某些实施例中,ssd90的区块295、395的好部分的区块擦除排除擦除非易失性存储器的系统区域(即保留存储坏区块、停工区块、局部坏区块、局部停工区块的映射的存储单元)。在某些实施例中,ssd90的区块295、395的好部分的区块擦除包括擦除非易失性存储器的系统区域的某些部分(即擦除逻辑-物理地址映射表)。

在块540,ssd90对ssd90的区块295、395的好部分的存储单元260、360执行存储编程操作。例如,可以执行闪存写入以将存储单元推出擦除状态。闪存写入可以通过在发送一个或多个编程脉冲至区块中的所有存储单元的同时编程区块295、395中的所有页面来执行。例如,闪存写入可以将存储单元的阈值电压水平设定为高于擦除状态的任何状态。

在某些实施例中,ssd90的区块295、395的好部分的存储编程操作排除非易失性存储器的系统区域的编程。在某些实施例中,ssd90的区块295、395的好部分的编程包括编程非易失性存储器的系统区域的某些部分。

在块550,ssd90通过编程图2和图3的sgd220、320和/或sgs230、330对固态硬盘的区块295、395的坏部分执行选择门编程操作。区块的坏部分不能被擦除和/或编程。在某些实施例中,除了试图擦除/编程区块的坏部分并由此增加执行pse的时间,区块的坏部分的sgd和/或sgs被编程。图7是编程存储阵列的选择门的一个示例的示意图,比如编程图2和图3的sgd22、320和/或sgs230、330。选择门在读取操作中位于阈值电压水平710。在图5的块550中,在块520中识别的区块的坏部分的sgd和/或sgs被编程到增加的阈值电压720。sgd、sgs或两者的阈值电压vt增加以使字线不可访问(即不能被正确地读取)。选择晶体管的阈值电压增加到高于读取操作的期望范围的水平。在一个实施例中,被识别为区块的坏部分的一部分的nand串的sgd的阈值电压增加到高于读取水平,以使区块的一部分中的数据不可访问。在一个实施例中,被识别为区块的坏部分的一部分的nand串的sgs的阈值电压增加到高于读取水平,以使区块的一部分中的数据不可访问。在一个实施例中,被识别为区块的坏部分的一部分的nand串的sgd和sgs的阈值电压增加到高于读取水平,以使区块的一部分中的数据不可访问。在读取操作中,选择晶体管通常对于平面nand位于约1v,对于3dnand位于约3v。在某些实施例中,sgd、sgs或两者的阈值电压增加到约4v或更高,优选地约6v或更高,使得字线不可访问。

在块570,ssd90被安全地更新。区块的好部分可以随后重新用在长期数据存储中。流程图500可包括额外的区块以执行pse。

图6是存储2位/单元的多水平存储单元(mlc)或x2单元的存储状态的一个示例的示意图,比如图2和图3的存储单元260、360。x2单元具有表示四个存储状态600、601、602、603的四个阈值电压vth分布或水平。存储状态600表示擦除状态e。存储状态601、602、603分别表示三个编程状态p1、p2、p3。

存在区块的坏部分使擦除或编程操作失效的数据风险。因此,数据仍可从存储阵列的字线中读取。由于未完成的擦除或未完成的编程,比如到区块的闪存写入可能会破坏或写满数据,区块的坏部分中的数据仍可在pse之后被访问。如图4的流程图400和图5的流程图500所述,(a)包含使擦除操作和/或编程操作失效的存储单元的nand串或者(b)区块的识别的坏部分的sgs和/或sgd的阈值电压增加到高于读取水平,以使区块的这种部分中的数据不可访问。

图7是编程选择门的一个示例的示意图,比如编程图2和图3的sgd220、320和/或sgs230、330。选择门在读取操作中位于阈值电压水平710。在图4的区块450中或图5的区块550中,sgd和/或sgs被编程到增加的阈值电压720。sgd、sgs或两者的阈值电压增加以使字线不可访问(即不能被正确地读取)。选择晶体管的阈值电压增加到高于读取操作的期望范围的水平。在读取操作中,在读取操作中,选择晶体管通常对于平面nand位于约1v,对于3dnand位于约3v。在某些实施例中,sgd、sgs或两者的阈值电压增加到约4v或更高、优选地约6v或更高,使得字线不可访问。

区块的不具有被编程的选择门的那部分可以随后重新用于长期数据存储的擦除、编程和读取操作。在物理安全之后,固态硬盘可再次用于区块的不具有被编程的选择门的那部分的更新的、似新的条件。如在本公开的各实施例中所述的。在某些实施例中,区块的具有被编程的选择门的那部分从随后长期数据存储的用途中停工。

所公开的固态硬盘的pse的实施例通过破坏存储的数据或使存储的数据不可访问提供了完整的防护。在某些实施例中,增加sgd、sgs或两者的阈值电压会永久地使字线不可访问(即会要求来自ssd的制造商的服务来访问字线)。

所公开的固态硬盘的pse的实施例快速地且完整地破坏数据或使数据不可访问。这种pse每个区块花费少于20ms,通常每个区块约5至15ms之间。

尽管前述内容涉及本公开的实施例,但是在不脱离本公开的基本范围的情况下,可以设想本公开的其它和另外的实施例,而且本公开的范围由随后的权利要求书确定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1