用于多电平存储器单元(mlc)快闪存储器的防数据破坏的保护的制作方法

文档序号:6738313阅读:170来源:国知局
专利名称:用于多电平存储器单元(mlc)快闪存储器的防数据破坏的保护的制作方法
技术领域
本公开内容主要地涉及快闪存储器。更具体而言,本公开内容涉及多电平存储器单元(MLC)快闪存储器的操作。·
背景技术
快闪存储器是非易失性、可电擦除和写入并且赋予短暂读取访问时间的存储器类型。出于这些原因,快闪存储器已经变得在便携式设备(比如个人数字助理、移动电话、数字音乐播放器等)中以及在形式为固态驱动的计算机系统中越来越流行。快闪存储器目前以两种类型可用可以每个存储器单元存储一个数据比特的单电平存储器单元(SLC)和可以每个存储器单元存储多个数据比特的多电平存储器单元(MLC)。一般以与NAND逻辑门的实现方式相类似的方式实现MLC快闪存储器,因此常称之为MLC NAND快闪存储器。在存储器块中组织MLC快闪存储器。每个存储器块包括多个页。每个存储器单元跨越多个页。这一布置的一个问题是如果在向一个页写入之时掉电,则不仅在该页中数据被破坏,而且在共享相同存储器单元的其它页中数据被破坏。

发明内容
一般而言,在一个方面中,一个实施例的特征在于一种装置,包括快闪控制器,配置成控制多电平存储器单元(MLC)快闪存储器,其中MLC快闪存储器包括多个存储器块,其中每个存储器块包括限定多个页的多个存储器单元,其中每个存储器单元跨越存储器块之一中的一组页,并且其中快闪控制器包括电路,电路被配置成接收将向MLC快闪存储器写入的数据,在一个或多个存储器块中从每组页选择仅一个页,以及仅向所选择的页写入数据。该装置的实施例可以包括以下特征中的一个或者多个特征。一些实施例包括配置成从多个所选择的页向另一存储器块中的多个页写入数据的电路。一些实施例包括配置成在从多个所选择的页向另一存储器块中的多个页写入数据之后,从多个所选择的页擦除数据的电路。一些实施例包括配置成响应于多个所选择的页充满数据,从多个所选择的页向另一存储器块中的多个页写入数据的电路。一些实施例包括配置成不使用快闪控制器和MLC快闪存储器外部的存储器而从多个所选择的页向另一存储器块中的多个页写入数据的电路。一些实施例包括配置成在一个或多个存储器块中从每组页仅选择配置成存储数据的最低有效位的页的电路。一些实施例包括MLC快闪存储器。一般而言,在一个方面中,一个实施例的特征在于一种用于控制多电平存储器单元(MLC)快闪存储器的方法,该方法包括接收将向MLC快闪存储器写入的数据,其中MLC快闪存储器包括多个存储器块,其中每个存储器块包括限定多个页的多个存储器单元,并且其中每个存储器单元跨越存储器块之一中的一组页;在一个或多个存储器块中从每组页选择仅一个页;以及仅向所选择的页写入数据。该方法的实施例可以包括以下特征中的一个或者多个特征。一些实施例包括从多个所选择的页向另一存储器块中的多个页写入数据。一些实施例包括在从多个所选择的页向另一存储器块中的多个页写入数据之后,从多个所选择的页擦除数据。一些实施例包括响应于多个所选择的页充满数据,从多个所选择的页向另一存储器块中的多个页写入数据。一些实施例包括不使用快闪模块外部的存储器而从多个所选择的页向另一存储器块中 的多个页写入数据。一些实施例包括在一个或多个存储器块中从每组页仅选择配置成存储数据的最低有效位的页。一般而言,在一个方面中,一个实施例的特征在于一种具体化指令的非瞬态计算机可读介质,该指令可由计算机执行以执行用于控制多电平存储器单元(MLC)快闪存储器的方法,该方法包括接收将向MLC快闪存储器写入的数据,其中MLC快闪存储器包括多个存储器块,其中每个存储器块包括限定多个页的多个存储器单元,并且其中每个存储器单元跨越存储器块之一中的一组页;在一个或多个存储器块中从每组页选择仅一个页;以及仅向所选择的页写入数据。在附图和下文描述中阐述一个或者多个实施方式的细节。其它特征将根据说明书和附图,以及根据权利要求而变得明显。


图I示出了根据一个实施例的MLC快闪存储器系统的单元。图2示出了根据一个实施例的图I的MLC快闪存储器的单元。图3示出了根据一个实施例的用于图I的快闪存储器系统的过程。图4用图形图示了用于图2的快闪存储器的存储器合并(consolidation)操作。在本说明书中使用的每个标号的首位指示标号首次出现于其中的附图的编号。
具体实施例方式MLC快闪是每个存储器单元运用多个电平以允许每个存储器单元存储更多数据比特的快闪存储器技术。目前,多数MLC快闪存储器每个存储器单元存储四个状态从而每个存储器单元产生两个数据比特。然而本公开内容的实施例独立于每个存储器单元的状态数目。此外,尽管目前以与NADN门的实现方式相类似的方式实现多数MLC快闪存储器,但是本公开内容的实施例独立于MLC快闪存储器的实现方式。图I示出了根据一个实施例的MLC快闪存储器系统100的单元。虽然在所描述的实施例中,在一个布置中呈现存储器系统100的单元,但是其它实施例可以特征在于其它布置。例如图I中所示模块中的任何模块可以组合成更少的模块、划分成更多模块或者其任何组合。另外,可以在电路、硬件、软件或者其组合中实现存储器系统100的单元。参照图1,MLC快闪存储器系统100包括与包括主机处理器106的主机104通信的快闪模块102。主机104可以是任何种类的数据处理设备(例如包括个人数字助理、移动电话、数字音乐播放器等)以及诸如计算机系统等的设备。可以在任何种类的数据存储设备(例如包括固态驱动等)中实现快闪模块102。快闪模块102包括与多电平存储器单元(MLC)快闪存储器110通信的快闪控制器108。快闪控制器108包括输入模块112、耗损均衡(wear-leveling)模块114、存储器合并模块116、擦除模块118和输出模块120。快闪模块102可以实现为一个或者多个集成电路。输入模块112被配置成从主机104接收将向MLC快闪存储器110写入的数据。耗损均衡模块114被配置成选择MLC快闪存储器110中的将用数据写入的页。存储器合并模块116被配置成执行下文描述的存储器合并操作。擦除模块118被配置成擦除MLC快闪存储器110 中的页。输出模块120被配置成向MLC快闪存储器110中的所选页写入数据。图2示出了根据一个实施例的图I的MLC快闪存储器110的单元。参照图2,将MLC快闪存储器110组织为M个存储器块202A至202M。每个存储器块202包括多个页204。例如一些当前MLC快闪存储器包括各自具有4kB存储容量的128个或者256个页。一个页是可以读取或者写入的最小快闪存储器单元。MLC快闪存储器110的每个存储器单元具有2**N个状态,从而每个单元产生N个数据比特。在图2的示例中,N= 2从而产生2#2 = 4个状态和每个单元2个数据比特。每个存储器单元跨越N个页204。包含每个存储器单元的最低有效位的页在这里称为“较低页”。包含每个存储器单元的最高有效位的页在这里称为“较高页”。在N >2的情况下,剩余页在这里称为“中间页”。在附图中,示出了较低页为交叉阴影。参照图2,页204A、204C、204F和204H为较低页,而页204B、204D、204E和204G为较高页。根据本公开内容的实施例,存储器单元跨越的N个页204称为“组”。图2示出了四组206A至206D。组206A包括页204A和204B。组206B包括页204C和204D。组206C包括页204E和204F。组206D包括页204G和204H。图3示出了根据一个实施例的用于图I的快闪存储器系统100的过程300。虽然在所描述的实施例中,在一个布置中呈现过程300的要素,但是其它实施例可以特征在于其它布置。例如在各种实施例中,可以按不同顺序、并行等执行过程300的步骤中的一些或者所有步骤。参照图2的示例来(其中N = 2)描述过程300。然而本公开内容的实施例可以与N的其它值一起使用。参照图I、图2和图3,在302,耗损均衡模块114从一个或者多个存储器块202中的每个组206选择仅一个页204。在MLC快闪存储器中写入最低有效位比写入其它位更快。因此,由于较低页204被配置成存储数据的最低有效位,所以耗损均衡模块114 一般选择每个组206中的较低页204。例如,耗损均衡模块114选择存储器块202中的页204A、204C、204F和204H。然而可以代之以选择其它页204。例如,耗损均衡模块114可以仅选择较高页204。作为另一示例,耗损均衡模块114可以选择一些组206中的较高页204和其它组206中的较低页。在N > 2的实施例中,可以也选择或者代之以选择中间页204。每个快闪存储器单元具有有限数目的写入-擦除(program-erase)周期。因此,耗损均衡模块114可以将耗损均衡包括作为选择页204时的因素。在304,输入模块112从主机处理器106接收将向MLC快闪存储器110写入的数据。在306,输出模块120仅向所选页204写入数据。继续上述示例,输出模块102向存储器块202A中的页204A、204C、204F和204H写入数据。未使用每个存储器块202中的未选页204。在这一示例中,未使用存储器块202A中的页204B、204D、204E和204G。如上文所言,如果在向组206中的所选页202A写入之时掉电,则没有数据丢失,因为未使用组206中的剩余页。在当前示例中,如果在向所选页204A写入时掉电,则没有数据在页204中丢失204B,因为未使用页204B。
在308,当预定数目L个所选页204充满数据时,在310,存储器合并模块116执行存储器合并。可以用任何方式选择L。例如在一些实施例中,如等式(I)给出的那样,L是每块的较低(或者较高)页数,其中P是每块的页数。L = P/N (I)在其它实施例中,L = N0在更多其它实施例中,L > N0可以在快闪存储器110中的单个存储器块202上、在多个存储器块202上或者在所有存储器块202上度量L。根据存储器合并,存储器合并模块116向单个块202中的L个页写入来自L个所选页204的数据。图4用图形图示了用于图2的快闪存储器110的存储器合并操作。参照图4,向存储器块202C的所有页写入来自存储器块202A和202B的较低页204的数据。如果在存储器合并期间掉电,则没有数据丢失,因为存储器合并是复制操作。在图4的示例中,尽管向存储器块202C写入的数据的副本可能在电源故障期间丢失,但是在存储器块202A和202B的较低页204中存储的数据的副本保留,从而没有数据丢失并且在恢复电源时可以重复储存器合并。在一些实施例中,快闪模块102能够不使用快闪模块102外部的存储器而在MLC快闪存储器110中的位置之间移动数据。在这些实施例中,存储器合并模块116调用这一能力以为存储器合并移动数据。例如快闪控制器108可以包括内部页缓冲器。在这一示例中,快闪控制器108从MLC快闪存储器110中的一个或者多个源页204向页缓冲器移动数据,并继而从该页缓冲器将该数据移动至MLC快闪存储器110中的一个或者多个目的地页204。在存储器合并之后,在312,擦除模块118从合并的页204擦除数据。在图4的示例中,擦除模块118从存储器块202A和202B中的较低页204擦除数据。这一存储器合并和擦除操作释放存储器块202A和202B中的较低页以用于其它的写入。在存储器合并和擦除之后,在302,过程300返回到页选择。可以在数字电子电路中或者在计算机硬件、固件、软件中或者在其组合中实现本公开内容的各种实施例。可以在计算机可读存储设备中有形具体化的、用于由可编程处理器执行的计算机程序产品中实现本公开内容的实施例。所描述的过程可以由如下可编程处理器执行,该可编程处理器执行指令程序以通过对输入数据操作并且生成输出来执行功能。可以在可在如下可编程系统上执行的一个或者多个计算机程序中实现本公开内容的实施例,该可编程系统包括至少一个可编程处理器(该处理器被耦合成从数据存储系统接收数据和指令以及向数据存储系统发送数据和指令)、至少一个输入设备以及至少一个输出设备。可以以高级过程化或者面向对象的编程语言,或者如果希望的话以汇编或者机器语言来实现每个计算机程序;并且在任何情况下,语言可以是编译或者解译语言。适当处理器例如包括通用和专用微处理器。一般而言,处理器从只读存储器和/或随机存取存储器接收指令和数据。一般而言,计算机包括用于存储数据文件的一个或者多个海量存储设备。这样的设备包括磁盘(比如内部硬盘和可拆卸盘);光磁盘;光盘和固态盘。适合用于有形地具体化计算机程序指令和数据的存储设备包括所有形式的非易失性存储器(例如包括半导体存储器设备(比如EPROM、EEPROM和快闪存储器设备);磁盘(比如内部硬盘和可拆卸盘);光磁盘;以及CD-ROM盘)。前述各项中的任何项可以由ASIC (专用集成电路)补充或者并入于ASIC中。
已经描述多个实现。然而可以进行各种修改而不脱离公开内容的范围。因而其它实现在所附权利要求的范围内。
权利要求
1.一种装置,包括 快闪控制器,配置成控制多电平存储器单元(MLC)快闪存储器,其中所述MLC快闪存储器包括多个存储器块,其中每个存储器块包括限定多个页的多个存储器单元,其中每个存储器单元跨越所述存储器块之一中的一组所述页,并且其中所述快闪控制器包括电路,所述电路被配置成 接收将向所述MLC快闪存储器写入的数据, 在一个或多个所述存储器块中从每组所述页选择仅一个页,以及 仅向所选择的页写入所述数据。
2.根据权利要求I所述的装置,还包括 配置成从多个所选择的页向另一存储器块中的多个页写入所述数据的电路。
3.根据权利要求2所述的装置,还包括 配置成在从所述多个所选择的页向所述另一存储器块中的所述多个页写入所述数据之后,从所述多个所选择的页擦除所述数据的电路。
4.根据权利要求2所述的装置,还包括 配置成响应于所述多个所选择的页充满所述数据,从所述多个所选择的页向所述另一存储器块中的所述多个页写入所述数据的电路。
5.根据权利要求2所述的装置,还包括 配置成不使用所述快闪控制器和所述MLC快闪存储器外部的存储器而从所述多个所选择的页向所述另一存储器块中的所述多个页写入所述数据的电路。
6.根据权利要求I所述的装置,还包括 配置成在所述一个或多个所述存储器块中从每组所述页仅选择配置成存储数据的最低有效位的页的电路。
7.根据权利要求I所述的装置,还包括 所述MLC快闪存储器。
8.根据权利要求7所述的装置,还包括 主机处理器,用于提供将向所述MLC快闪存储器写入的所述数据。
9.一种用于控制多电平存储器单元(MLC)快闪存储器的方法,所述方法包括 接收将向所述MLC快闪存储器写入的数据,其中所述MLC快闪存储器包括多个存储器块,其中每个存储器块包括限定多个页的多个存储器单元,并且其中每个存储器单元跨越所述存储器块之一中的一组所述页; 在一个或多个所述存储器块中从每组所述页选择仅一个页;以及 仅向所选择的页写入所述数据。
10.根据权利要求9所述的方法,还包括 从多个所选择的页向另一存储器块中的多个页写入所述数据。
11.根据权利要求10所述的方法,还包括 在从所述多个所选择的页向所述另一存储器块中的所述多个页写入所述数据之后,从所述多个所选择的页擦除所述数据。
12.根据权利要求10所述的方法,还包括 响应于所述多个所选择的页充满所述数据,从所述多个所选择的页向所述另一存储器块中的所述多个页写入所述数据。
13.根据权利要求10所述的方法,还包括 不使用快闪模块外部的存储器而从所述多个所选择的页向所述另一存储器块中的所述多个页写入所述数据。
14.根据权利要求9所述的方法,还包括 在所述一个或多个所述存储器块中从每组所述页仅选择配置成存储数据的最低有效位的页。
15.一种具体化指令的非瞬态计算机可读介质,所述指令可由计算机执行以执行用于控制多电平存储器单元(MLC)快闪存储器的方法,所述方法包括 接收将向所述MLC快闪存储器写入的数据,其中所述MLC快闪存储器包括多个存储器块,其中每个存储器块包括限定多个页的多个存储器单元,并且其中每个存储器单元跨越所述存储器块之一中的一组所述页; 在一个或多个所述存储器块中从每组所述页选择仅一个页;以及 仅向所选择的页写入所述数据。
16.根据权利要求15所述的计算机可读介质,其中所述方法还包括 从多个所选择的页向另一存储器块中的多个页写入所述数据。
17.根据权利要求16所述的计算机可读介质,其中所述方法还包括 在从所述多个所选择的页向所述另一存储器块中的所述多个页写入所述数据之后,从所述多个所选择的页擦除所述数据。
18.根据权利要求16所述的计算机可读介质,其中所述方法还包括 响应于所述多个所选择的页充满所述数据,从所述多个所选择的页向所述另一存储器块中的所述多个页写入所述数据。
19.根据权利要求16所述的计算机可读介质,其中所述方法还包括 不使用快闪模块外部的存储器而从所述多个所选择的页向所述另一存储器块中的所述多个页写入所述数据。
20.根据权利要求15所述的计算机可读介质,其中所述方法还包括 在所述一个或多个所述存储器块中从每组所述页仅选择配置成存储数据的最低有效位的页。
全文摘要
具有对应方法和非瞬态计算机可读介质的装置包括配置成控制多电平存储器单元(MLC)快闪存储器的快闪控制器,其中MLC快闪存储器包括多个存储器块,其中每个存储器块包括限定多个页的多个存储器单元,其中每个存储器单元存储来自存储器块之一中的多个页中的至少两个页的一个比特,并且其中快闪控制器包括配置成接收将向MLC快闪写入的数据、在一个或多个存储器块中从每组页选择仅一个页,并且仅向所选择的页写入数据的电路。
文档编号G11C11/56GK102792381SQ201180009954
公开日2012年11月21日 申请日期2011年2月16日 优先权日2010年2月17日
发明者康新海, 赵群 申请人:马维尔国际贸易有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1