首页> 中国专利> 数据区段尺寸不同于存储器页面和/或区块尺寸之非易失性存储器系统的操作技术

数据区段尺寸不同于存储器页面和/或区块尺寸之非易失性存储器系统的操作技术

摘要

本文公开的一种非易失性的存储器系统,比如一种闪速EEPROM系统,划分为多个区块,每个区块又划分为一个或多个页面,其中存放着数据区段,其尺寸既不同于页面,又不同于区块。一种特定的技术将多个区段装入一个区块,而不是装入为该区块提供的页面。优选情况下,许多用户数据区段的纠错码和其它属性数据,一起存放在与用户数据不同的页面和区块中。

著录项

  • 公开/公告号CN101427225A

    专利类型发明专利

  • 公开/公告日2009-05-06

    原文格式PDF

  • 申请/专利权人 三因迪斯克公司;

    申请/专利号CN01820902.5

  • 申请日2001-11-13

  • 分类号G06F12/02(20060101);G06F3/06(20060101);

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人付建军

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 21:53:28

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-08-10

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F12/02 变更前: 变更后: 申请日:20011113

    专利权人的姓名或者名称、地址的变更

  • 2012-05-02

    专利权的转移 IPC(主分类):G06F12/02 变更前: 变更后: 登记生效日:20120322 申请日:20011113

    专利申请权、专利权的转移

  • 2010-09-29

    授权

    授权

  • 2009-07-01

    实质审查的生效

    实质审查的生效

  • 2009-05-06

    公开

    公开

说明书

技术领域

本发明涉及半导体存储器系统,尤其是非易失性的存储器系统,已经应用于闪速可电擦除可编程只读存储器(EEPROM)。

背景技术

闪速EEPROM系统正在应用于许多方面,尤其是封装在封闭卡中,该卡能够可拆卸地连接到一个主机系统。当前的商业存储卡格式包括个人计算机存储卡国际协会(PCMCIA)、CompactFlash(CF)、多媒体卡(MMC)和“安全数字”(SD)的格式。这些卡的一个供应商是SanDisk公司——本申请书的受让人。使用了此类卡的主机系统包括个人计算机、笔记本计算机、手持计算设备、照相机、音频重现设备等等。闪速EEPROM系统也用于嵌入主机系统的大容量存储器。

此类非易失性的存储器系统包括浮动栅存储器单元的阵列和系统控制器。该控制器管理着与主机系统的通信以及在存储器单元阵列中存放和检索用户数据的操作。存储器单元组成若干单元区块,一个单元区块就是可同时擦除之单元的最小的组。在一个或多个单元区块写入数据之前,要先擦除这些单元区块。典型情况下,在主机和存储器阵列之间,用户数据是以区段的形式传递。用户数据的一个区段可以是便于处理的任何数量,优选情况下是小于存储器区块的容量,往往等于标准磁盘驱动器的扇区大小——512字节。在一个商业架构中,存储器系统区块的大小定为存放一个区段的用户数据加辅助数据,辅助数据的信息包括存放在本区块中用户数据所用的纠错码(ECC)、本区块的使用历史、存储器单元区块的缺陷和其它物理信息等等。在以下转让给SanDisk公司的美国专利和待批准的申请书中,介绍了这种类型的非易失性存储器系统的多种实现方案,其中每一个都在这里全文引用作为参考:5,172,338、5,602,987、5,315,541、5,200,959、5,270,979、5,428,621、5,663,901、5,532,962、5,430,859和5,712,180号专利,以及1997年8月7日提交的序列号为08/910,947和1999年6月30提交的序列号为09/343,328的申请书。

另一种类型的非易失性存储器系统使用较大规模的存储器单元区块,每一区块都存放多个页面,一个页面就是在仅仅一次写入操作中,写入之数据的最小单位。典型情况下,一个页面包括用户数据的一个区段,以及与该用户数据和存放该数据的区块有关的辅助数据。更有另一种特定的系统,从其提交日期算起,从商业上说SanDisk公司已经使它可用一年多了,在该系统中,与存放的用户数据有关的辅助数据,比如ECC,与用户数据一起存放在一个公共区段中,而与存放着该区段之数据区块有关的辅助数据,则写入一个不同区块的不同区段中,作为该区段的一部分。2000年2月17日提交的序列号为09/505,555的专利申请书,给出了这种系统的一个实例,该申请书在这里全文引用作为参考。

存储器单元阵列的一种架构,由存储器单元的一行或两行方便地形成了一个区块,这些单元在单元的一个子阵列或其它单位之内,共享一个公共的擦除门。这里全文引用的、SanDisk公司的5,677,872号和5,712,179号美国专利给出了这种架构的实例。虽然当前最普通的是在每个浮动栅单元中存放一位数据,这样只须定义两种写入阈值电平,而趋势却是通过建立多于两种的浮动栅晶体管阈值范围,在每个单元中存放多于一位数据。目前已经有了每个浮动栅存放两位数据(四种阈值电平范围或者说状态)的存储器系统,未来的系统可以预期每个单元三位(八种阈值电平范围或者说状态)和每个单元四位(十六种阈值电平范围)。当然,随着每个单元中存放的位数上升,存放一个数据区段所需要的存储器单元数目下降。这个趋势结合着由单元结构和一般半导体处理的改善引起的阵列扩大,在一行单元的一个片段中形成一个存储器单元区块也是切实可行的。也可以形成区块结构,以便在存储器单元中每一个的操作时,能够选择以两种状态(每单元一位数据)还是以某些多种比如四种状态(每单元两位数据)来进行,正如SanDisk公司的5,930,167号美国专利中介绍的,在这里全文引用它作为参考。

由于把数据写入浮动栅存储器单元可能要耗费相当多的时间,所以典型情况下,同时写入一行中的大量存储器单元。但是增大这种并行性导致电源需求增大,以及邻近单元电荷的潜在干扰和它们之间的相互作用。这里全文引用的SanDisk公司的5,890,192号美国专利介绍了一种系统,它通过同时把多个字节片的数据写入位于不同存储器操作单元单位(子阵列)的不同单元区块中,使这些效应达到最小。

以上引用的专利介绍了一种存储器阵列设计,其中在包括字线的行中,各个存储器单元在相邻位线之间进行连接——一种“或非”架构。对于非易失性存储器阵列,一种“与非”架构在商业上也很流行,其中多个存储器单元组成的一串,串联在各条位线和一个参考电位之间,而许多此类串中每一串的一个单元就形成了单元的行。文献中也建议了其它的特定架构。以上引用的专利也介绍了一种类型非易失性存储器单元的使用,它采用一种导电材料制成的一个或两个浮动栅,其中存放着电子电荷电平,以便控制该单元的有效阈值电平。在多种存储器阵列架构中有用的、存放电子的其它技术,包括在两个绝缘层之间的一个绝缘层中束缚电子,而不是使用导电浮动栅的方法。此外,以上引用的专利进一步介绍了擦除栅的使用,在每次擦除一个或多个区块期间从单元的存储元件向擦除栅排除电荷。另一种技术从擦除元件向基底擦除电荷,该基底作为一个擦除极。

发明内容

依据本发明的一个方面,简要地和一般地说,不是强制用一个区段或某个整数数目区段的用户数据以及伴随的辅助数据来充满各个数据页面,而是至少某些此类数据区段分布在存储器的两个或更多页面中。在一种配置中,一个或多个用户数据区段,连同所有伴随的辅助数据、一部分辅助数据或者没有辅助数据,一起写入存储器的一个页面中,而组成方式类似的其它区段,则以某种方式进行划分并写入两个或更多页面,这种方式能有效地使用这些页面的存储容量。在另一种配置中,各个用户数据区段——带有或者没有至少其辅助数据的某个部分——都大于存放它们的页面的存储容量,使得实际上每一个此类区段都分布在两个页面中。这些方法提供了许多可能性,改善了性能,高效地使用一个具体的存储器区块和页面架构。如果存储器系统只能在每个页面或区块中存放整数数目的数据区段,就没有这些可能性。无论是在每个区块包含许多页面的系统中,还是在各个区块只包含单一页面的系统中,这些技术都有应用。

依据本发明的另一个方面,一个区段主要包含的仅仅是用户数据,而无论是用户数据的辅助数据,还是写着用户数据之区块的辅助数据,都存放在存储器单元的其它区块中的一个或多个其它页面中。这样做的优点是,对于一个给定尺寸的区块,增加了可以存放之用户数据的数量,尤其适用于读取或写入流式数据,比如数据内容是音乐、其它音频或者视频信息的情况。这种技术的优点还在于,可以适应用户数据和辅助数据在更新频率上的差异,在更新一项时,不必更新另一项。这样做改善了系统的性能,尤其是通过缩短读取和/或写入的时间。另外,这样做也允许存放的辅助数据的数量不依赖于页面和区块的尺寸,而在现有的系统中,用户数据和辅助数据都是存放在这些页面和区块中的。

在采纳了本发明这些方面的一个系统的一个特定实例中,有一个存储器系统,其页面是设计来存放用户数据和伴随辅助数据的区段,其使用情况不同于该系统设计的用途。许多用户数据区段——没有辅助数据的大部分或全部——结合成数目较少的存储器页面,而与这许多用户数据区段对应的辅助数据结合在一起,形成辅助数据区段,存放在存储器的其它页面中。在较长的写入操作中,这样做尤其具有优越性,因为正在写入非易失性存储器的用户数据区段,它们对应的辅助数据可以累积在一个更快的缓冲区存储器——它是控制器的一部分——中,然后一次就全部从缓冲区写入非易失性存储器。在读取操作期间,它也提高了速度,因为要读取之用户数据区段对应的辅助数据首先读入控制器中的更快的缓冲区存储器。那么,读取用户数据区段所需的辅助数据,从该缓冲区中读取,就能够比它们直接从非易失性存储器读取更快。对于用户数据区段的ECC,这样做尤其具有优越性,在读取用户数据区段时,从缓冲区存储器可以直接处理ECC.

本发明的其它方面、特性和优点,包括在以下介绍的示范性实施例中,这些介绍应当与附图相结合。

附图简要说明

图1是一个存储器系统的示意性框图,它可以按照本发明操作;

图2展示了存放在现有非易失性存储器中的一个数据区段中的典型成分;

图3展示了存放图2中数据的一种现有方法;

图4展示了存放图2中数据的另一种现有方法;

图5展示了存放图2中数据的再一种现有方法;

图6A和图6B展示了依据本发明存放图2中数据的替代方法;

图7更详细地显示了一种特定的现有商业存储器系统的架构和使用;

图8显示了在存储器的页面之间,把用户数据区段结合成存储器区块的一个实例;

图9显示了在不同于图8中用户数据对应的区块中,存储辅助数据页面的一个实例;

图10展示了图9中辅助数据的一个实例页面;

图11展示了一个表格,它是存储器系统的控制器按照图8和图9存放的辅助数据之内的数据建立的;

图12显示了另一种特定的现有商业存储器系统之架构的一部分;以及

图13展示了把用户数据区段结合成图12的存储器系统中区块的一个实例。

具体实施方式

图1提供了一幅示意图,展示了与本发明有关的非易失性存储器系统的主要部件。控制器11通过连线13与主机系统(未显示)进行通信。展示为占据着一个集成电路芯片的控制器11,通过连线15与一个或多个非易失性存储器单元阵列通信,图中展示了一个此类阵列17,每一个阵列通常是在一个单独的集成电路上形成的。展示的控制器通常包含在单一的集成电路芯片上,或者是没有闪速EEPROM阵列(显示的实例),或者是带有系统存储器单元阵列的某些或全部。即使某个存储器单元阵列包括在控制器电路芯片上,系统中往往还要包括另外的一个或多个芯片,其中每一个只包含一个存储器阵列和相关联的电路。

在这个实例中,用户数据通过连线15,在控制器11和存储器阵列17之间传递。在这个实例中,该存储器阵列也是由控制器11通过连线15寻址。图1中所示的存储器系统可以作为一部分,嵌入某个主机系统或者封装在一片卡中,比如服从前面介绍的卡标准之一或者某种其它标准的一片卡。在一片卡的情况下,连线13终止于外部接线端,与主机系统之内的某个扩展槽匹配。尽管使用一个控制器芯片和多个存储器芯片是典型情况,趋势当然是通过合并其电路,在这种系统中使用更少的分立芯片。展示的存储器芯片之一的实例容量是256兆位,因此只需要两个这种存储器芯片,加上控制器芯片,即可形成一个具有64兆字节数据容量的非易失性存储器系统。使用单个更小容量的存储器芯片会使存储器系统的容量更小,8兆字节的系统是市场欢迎的实例。相反,在一个系统中使用更高的位存储密度和/或使用更多的存储器阵列芯片会使存储器的容量更大。控制器11包括一个微处理器或者说微控制器23,通过控制器接口逻辑电路25,连接到带有外部组件的内部存储器和接口。程序存储器27存放着由微控制器23访问的固件和软件,用于控制存储器系统的操作,从连接的存储器阵列读出数据并把该数据发送到主机,从主机向存储器芯片写入数据,以及执行为数众多的其它监视和控制功能。存储器27可以是一种易失的可重编程的随机访问存储器(RAM)、一种不可重编程的非易失性存储器(ROM)、一种可编程一次的存储器(OTP)或者一种可重编程的闪速EEPROM系统。如果存储器27是可重编程的,该控制器就能够配置为允许主机系统对它编程。随机访问存储器(RAM)29(比如一种动态RAM(DRAM)或者静态RAM(SRAM))用于存放在读写操作期间访问的非易失性存储器17中的数据形成的表格和其它数据。RAM29也包括控制器的处理器23使用的许多寄存器。

逻辑电路31为主机通信连线13提供接口,而另一个逻辑电路33通过连线15为存储器阵列提供接口。另一个存储器35用作缓冲区,暂时存放主机系统和非易失性存储器之间传递的用户数据。控制器中的这些存储器通常是易失性的,由于带有高效控制器访问所需的快速访问和其他特征的存储器具有这种特征,并且可以物理地合并到单一的存储器中。一个专用的处理电路37访问正在控制器接口25和闪存接口33之间传递的用户数据流,以便从该用户数据产生一个ECC,或者其它类型的冗余码。在编程期间,产生的ECC与计算出它的数据一起,存放在存储器阵列17中。在读取期间,由电路37产生的ECC与从存储器阵列17读取的ECC进行对比,读取时同时读出在编程期间计算后一个ECC的数据。

闪存17包括一个存储器单元阵列,它可以是背景技术中介绍的类型之一,并且依据这些架构之一,或者某个其它的类型和/或架构。这样一个阵列在实质上划分为存储器单元的清晰区块,它们可以同时擦除,而一个区块可以擦除之存储器单元的最小单位。这些区块各自包含相同数目的存储器单元,例如一种尺寸存放528字节的数据,另一种存放4096字节的数据。当然,存放给定数量的数据所需之存储器单元的数目,取决于每个单元中存放之数据的位数。通常单元的多个区块同时寻址,以便一起擦除。典型情况下,较大尺寸的区块再划分成存储器单元的多个页面,它们界限分明,而一个页面是在仅仅一次写入操作中可写入的存储器单元的最小单位。在切实可行的情况下,同时写入尽可能多的存储器单元,以便缩短写入给定数量之数据所需的时间。在某些系统中,同时写入一个页面中的所有单元,在其它系统中,一次写入一个页面中清晰的一大块单元,其方式为使对其它单元上的电荷干扰最小,直到所有的大块都写入。在一个特定的系统中,每个页面中有四个大块。通常并行地读取比单个写入大块更多的单元。

参考图2,一个数据区段的成分通常包括为数众多字节43——用户数据、几个字节45——用户数据的属性——和几个字节47——页面和/或区块的属性,整个区段都存放在该页面和/或区块中。换句话说,一个用户数据流或者说文件,划分为用户数据区段43,然后属性数据区45和47加到每个用户数据区段,以形成一个完整的数据区段,用于存储。区段43中包括的用户数据,典型数量是512字节,与磁盘存储系统的扇区中用户数据的数量相同。用户数据的属性45通常包括一个ECC,它是由控制器从同一区段中存放的用户数据算出的,无论是在写入该区段还是在读取该区段期间。存放着区段之物理区块(其中的一些也可能用于存放每个页面)的属性47,往往包括该区块的物理地址、该区块的逻辑地址、该区块已经擦除的次数、施加在该区块之单元上的编程和/或擦除电压以及该区块的其它此类特征。通常,还要从属性数据计算另一个ECC,并作为属性区的一部分而存放。

进入存储器系统的数据,在存放之前往往要进行某种方式的变换。例如,在二进制系统中,进入的数据在写入之前可以反转,以避免在一个给定的区块中重复地写入一种静态模式,一段时间之后又改变回来,以便均衡该区块中存储器单元的损耗。在多态系统中,数据以某种预定的次序,在其多个状态之间转换(变换)。数据变换时,如果该变换是按页面进行的,就在数据属性45中存放一个旗标,指明已经应用了变换;如果该变换是按区块进行的,则是在区块属性47中存放该旗标。从存储器读取此类数据时,存放的变换旗标就使控制器能够应用一种逆变换,以便将读取的数据转换回其最初收到的形式,再把该数据传送到主机。可以进行之变换的另一个实例是用户数据的加密,其中变换旗标就能够包括解密期间使用的密钥。

图3一般地显示了存储器单元区块的数据内容,多年来一直用在SanDisk公司的产品中,作为以前技术的一个特定实例。每个单独的区块49包括足够的存储器单元,以存放多达一个区段的数据,也就是528字节。用户数据51有512字节。除了用户数据和区块的属性53和55之外,区块49中剩余的16字节的存储空间包括备用单元。在这些系统中配备了备用单元,它们取代区块之内的故障单元。这样做时,故障单元的地址也是区块属性数据55的一部分。

图4中展示了在SanDisk产品中使用的更新的变化。与图3中的数据存储格式相比,主要的差异在于区块属性与用户数据不是存放在同一区块中。例如在区块59中,存放着512字节的用户数据61,8字节的ECC和旗标作为用户数据属性63而存放。这就在区块59中留下了若干备用存储器单元65,足够存放8字节的用户和/或属性数据,以取代区块59之内正常情况下会存放用户或属性数据的任何故障单元。区块59的属性数据67存放在另一个区块69中,并且仅仅需要4字节。区块69确实包括若干此类区块属性记录,是包含着用户数据的其它区块的属性。在上述序列号为09/505,555的申请书中,进一步介绍了这种数据架构。

图5展示了一个存储器系统中的一个区块71,依据再一个不同的、有时由其它公司已经在商业上使用的架构。这里的区块71比图3和图4中系统的区块大得多,典型情况下具有16或32千字节的数据存储容量。区块71划分为多个页面,比如16、32或64个页面。在这个具体的实例中,一个页面包括512字节的用户数据73和总共16字节的用户数据属性75和区块属性77。没有提供备用单元。页面是写入和读取的单位,而更大的区块仍然是擦除的单位。先要擦除写过的整个区块,才能在该区块之内的任何一个页面写入。

在图3至图5中系统的每一个中,存放数据的单位必须与物理存储器配备的区块或页面的尺寸相匹配。迄今为止,数据区段结构中的变化视为需要物理存储器结构中的变化以接受它。这样一种变化是相当昂贵的,要花费大量的时间,必然会阻碍对数据区段结构进行改变,否则这些改变可能是需要的。

所以,依据本发明的一个方面,数据区段结构适合于不同的物理存储器区块和页面结构,而不必改变物理结构,正如图6中非常一般地展示的。图6A显示了一种情况,存放数据的区段或其它单位小于各个存储器单元区块的容量。例如一个数据区块81总体上适合在页面或区块83之内,而另一个数据区段85部分地存放在页面或区块83中,部分地存放在页面或区块87中。由于数据是在分开的操作中写入每个页面或区块和从每个页面或区块读出,所以数据区段85是在两次此类操作中才能写入。优选情况下,数据区段85写入页面或区块83的一部分,在控制器存储器中与数据区段81相结合,然后再写入,以便在单一的操作中写入页面或区块83。优选情况下,把两个相邻数据区段的数据类似地结合,再写入每个页面或区块中。

图6B展示了另外一种情况,其中数据区段的尺寸大于各个页面或区块能够存放的容量。一个数据区段89既存放在页面或区块91中,又存放在页面或区块93中。另一个数据区段95存放在页面或区块93的剩余部分中,以及在另一个页面或区块中。优选情况下,包含两个数据区段的部分的页面或区块,比如93,是在该处部分地存放的两个数据区段,比如数据区段89和95中每一个中的数据,在控制器存储器中组装之后,再进行写入。相反,在数据区段的读取期间,包含着所需区段之数据的这两个页面或区块中每一个中的数据,读取后在控制器存储器中组装成这两个数据区段的单位。然后,控制器把这两个数据区段传送到主机系统。

图6中展示的数据区段可能包括(1)只有用户数据,(2)用户数据和用户数据属性的组合,或者(3)所有用户数据、用户数据属性和区块属性的组合。任何剩余的属性数据都可以存放在不同的区块中,并在这两者之间提供一种链接。一个区段的用户数据不必全部存放在存储器阵列中单一的物理页面或区块中。

第一个系统实施例

图7展示了一种特定的现有商业存储器系统的阵列和数据架构,而图8至图11显示了按照本发明对这个系统进行的修改。现有的存储器阵列101(见图7)划分为众多的区块B,在这种情况下它们有4096个。这些区块中的每一个,比如区块103,划分为许多页面P,在这种情况下是每个区块32个页面。每个页面,比如页面105,配置为存放512字节的用户数据107和16字节的属性(辅助)数据109。页面属性数据109包括至少由用户数据107算出的ECC111、该页面所在的逻辑区块号(LBN)113和两个旗标115和117。正常情况下,ECC 111是用户数据的一个属性。从剩余的页面属性数据可以算出另外一个ECC(未显示),并且存放在页面属性数据109之内,但是某些区域比如区域113、115和117存储时往往没有完全的ECC。LBN 113是该页面所在区块的一个属性,并且可以注意到,在一个区块之内的32个页面中的每一个中,它是重复的。

图8展示了区块103的一种修改的使用,以便存放一个附加的用户数据区段,但是每个页面中现在不包括辅助数据。三十三个区段S的用户数据(S0-S32)存放在存储器的区块103的三十二个页面(P0-P31)中。每个用户数据区段包含512字节的数据。第一个区段S0几乎填满第一个页面P0的存储器单元,正常情况下它存放着16字节的辅助数据。这16字节的容量用于存放下一个用户数据区段S1的最初16字节,数据区段S1的剩余数据存放在第二个页面P1中。那么这又在第二个页面P1中留下了32字节的容量,用于存放第三个数据区段S2的起始数据,S2的剩余部分存放在第三个页面P2中,依此类推。因为物理的和数据区段的数目的巧合,可以算出每个区块能够利用33个用户数据区段完全填满。不过,假若在物理页面、区块和数据区段的尺寸不同的另一种系统中,不存在这样恰好的分配,剩余的容量也可以用于另一个数据区段的一部分,只是该数据区段的剩余部分存放在一个不同区块的另一个页面中。

由于区块103的页面是在一次写入操作中可以写入的最小的存储器单位,优选情况下,来自不同区段S0-S32的用户数据,在控制器的一个存储器中组装成图8所示的页面。换句话说,在第一个页面P0写入区块103之前,第二个用户数据区段S1的最初16字节就附加在区段S0的尾部,然后写入该页面。同样,对于第二个页面P1,区段S1的剩余数据在控制器的一个非易失性存储器中,结合S2最初32字节的数据,然后结合的结果从该存储器写入非易失性存储器的第二个页面P1中。

图9展示另一个区块121的不同数据结构。该区块的每个页面,比如页面123,存放着许多属性(辅助)数据的记录,它们伴随着其它区块比如图8的区块133中存放的用户数据区段。在一个实施例中,页面123存放区块133中所有的或者接近所有的存储区块属性数据,以及该区块中存放之33个用户数据区段中每一个的用户数据属性。对于页面123以及写入区块121的每一个其它页面,图10显示了其数据结构的一个具体实例。由于在区块121中有32个页面,每32个区块103类型的用户数据区块,就至少有一个区块121类型的属性数据区块。

图10所示的属性页面包括一个区域125,它存放着图8所示形式之区块的属性,该区块中存放着对应的用户数据。为图8中区块103中存放的每个数据区段提供了一个单独的区域——区域127(见图10)存放着区块103(见图8)中用户数据区段S25的属性。每个用户数据区段属性记录包括由对应用户数据区段算出的一个ECC129。该用户数据的转换情况可以存放在131,对应区段之用户数据的其它属性可以存放在133。

为了便于讨论,区块103(见图8)的属性125(见图10)划分为物理属性和逻辑属性来显示。在这个实例中,物理属性包括用户数据区块103的物理地址(PBN)135,以及一个或多个其它属性137,这些属性可以包括该区块已经擦除的次数、写入电压、擦除电压等等。对区域135和137可以提供一个ECC 139。区块103的逻辑属性可以包括用户数据区块103的逻辑地址(LBN)141、属性页面123上次写入区块121的时间143、用户数据或页面123之内数据的变换旗标145以及区域141、143和145的一个ECC 147。区域131和133可以没有ECC。

如果在用户数据属性中没有包括变换旗标区域131,区块属性的变换区域145将指定对应的区块103中用户数据区段和属性数据页面123中所有数据的变换。如果包括了变换区域131,变换区域145就仅仅指定其页面123中数据的变换。

时间区域143记录着对应的用户数据区块103最后是何时更新的某种指示。如果存储器系统包括一个实时时钟,就会存放更新发生的时间。但是由于大多数系统没有这样一个时钟,区域143可能记录着一个数值,指示对应的用户数据区块的数据是何时更新的。在一个具体的实施例中,在区域143中为每个LBN保持一个单独的计数器,每次其对应的逻辑区块写入用户数据时,就读取并增大该计数器。那么,系统控制器就区域143的内容,确定包含相同数据或者由相同LBN识别的两个区块中,哪一个是最近写入的。

属性与区块和用户数据区段分开存放的一个优点是,用户数据的整个区块的属性数据只须写入一次。此外,对应用户数据区块的属性仅仅存放一次,作为该区块属性数据页面的一部分,而不是像目前所做的那样,进行复制,作为用户数据的每个页面的一部分。在写入期间,在用户数据写入其对应的区块103时,在控制器的一个存储器中形成页面123(见图10)。然后,在一个要存放的文件中的用户数据全部写入区块103之后,页面123写入区块121。如果一个文件的尺寸需要把用户数据写入不只一个用户数据区块,在控制器存储器中就要为每个这样的区块形成一个单独的属性记录页面,在该文件的用户数据全部写入之后,所有属性记录页面再写入非易失性存储器。

如果对属性数据页面123有一个改变需要记录下来,控制器就把该页面读入它的一个存储器中,对其数据进行改变,然后再写回区块121中一个未使用的页面,比如页面151。属性数据的时间区域143(见图10)进行了更新,所以处理器能够区分该数据的当前版本和旧版本。仅仅使用当前的版本。如果在区块121中没有尚未写过的页面,更新后的属性数据就写入具有空余属性页面的某个其它区块中。如果在区块121或其它类似区块中存在着足够数目的旧属性记录,就把当前记录读入控制器的存储器,擦除该区块,并将当前记录写回该区块。由于控制器的存储器通常为易失类型的,为了避免断电造成的数据损失,在擦除原始区块之前,区块的当前记录也可以复制到一个不同的、以前擦除过的非易失性存储器区块中。无论在哪种情况下,结果都是或者在原始区块中,或者在不同的区块中,创建空余的未写过的页面用于将来存放更新的或者新的属性页面。

针对图8至图11正在介绍的这一个具体实例,在仍然实施本发明的前提下,能够以许多方式进行修改。例如,假若缩小了每个记录的尺寸,或者假若一种不同的阵列架构存放着较少的用户数据区段——无论是因为区块较小还是因为区段较大,或者页面的尺寸更小等等,一个属性数据页面就可以包括不只一个用户数据区块的记录。相反,再一种不同的架构或者更大的属性记录尺寸,每个用户数据区块可能需要不只一个属性数据页面。本发明可以应用于物理和数据架构范围很宽的非易失性存储器系统。

如果从主机收到一个请求,要从非易失性存储器读取用户数据区段,控制器就确定包含着要读取数据的起始逻辑区块地址(LBN)和区块数目。然后,控制器扫描属性数据页面,比如针对图9和图10介绍的,以识别其LBN区域141在控制器指定的要读取的LBN范围之内的页面或若干页面(见图10)。然后,建立一个图11形式的表格,存放在易失性的控制器存储器中。一个纵列153列出了属性字段135中的PBN,其LBN 141在该范围之内,然后这些LBN就变为至该表格的地址,如纵列155所示。在纵列153中表示用户数据PBN的每个属性页面,其物理地址(PBN)和页面号包括在图11中表格的一行中,它包括该用户数据的PBN,因此形成了纵列157和159。

然后在读取操作期间,根据用户数据的LBN访问这个表格,以确定所请求之用户数据驻留的物理区块位置(PBN),以及对应的属性数据页面的物理地址。然后,如果控制器存储器具有足够的容量,整个读取操作所用的属性数据页面都读入控制器的存储器中,或者也可以每次向控制器存储器中读入执行读取操作所需的一个或几个页面。然后,随着从非易失性存储器读取用户数据,控制器也读取用户数据属性数据记录(比如图10中的记录127)的ECC,并且对读取的用户数据进行处理,以识别和改正任何错误,再把读取的用户数据发送到主机。

以上的实例提供的方法是在一个区块中仅仅存放用户数据,而所有相关的属性数据存放在另一区块中。不过,优选情况下,包括一种用户数据属性作为各个用户数据区段的一部分,或者在原本仅仅存放用户数据区段一个区块之内,作为一个单独记录,都是可以做到的。一种这样的属性是用户数据的变换旗标,这样控制器在能够读取这些区段之前,就不必访问单独的属性数据页面。如果变换旗标包括在用户数据中,那么控制器就知道如何应用逆变换以读取该数据,而不必单独访问对应的属性页面。优选情况下,这种包括仅限于特定的应用——这样做会提高存储器系统的读取时间的性能。

第二个系统实施例

针对图12和图13,简要介绍本发明应用于另一种类型的、架构大为不同的非易失性存储器系统。存储器阵列划分为偶数个单位,比如8个,两个这样的单位0和1如图12所示。一对相邻的单位,术语称为一个平面,可以共享外围电路,比如字线解码器。每个单位包含众多的存储器区块,比如单位0中的区块161和单位1中的区块163。各个区块又划分为存储器的多个页面。

所示的实例不是像通常所做的那样,由单一区块的存储器单元来形成一个完整的页面,而是把给定页面的一半165放入单位0的区块161中,而把同一页面的另一半167放入单位1的一个区块中。这两个区块在单位之内可以具有相同的相对地址,并且可以由单行中的存储器单元形成,这些单元具有延伸通过这两个区块的公共字线。不过优选情况下,可能需要对应的半页位于不共享字线的区块中。无论是哪种情况,这种页面分割都能够增加并行写入时同时写入的页面单元的数目。

这种不同架构的存储器页面,其使用方式可以与以上介绍的第一个实例相同。小于或大于页面容量的用户数据区段,在各个区块之内跨越相邻的页面存放,除非每个用户数据区段的一半存放在一个单位之区块中页面的一半中,而该区段的另一半存放在其它单位之区块中页面的剩余一半中。同样,对于包含着专为存储用户数据的属性记录之页面的区块,以及存放这些数据的区块,属性数据页面的一半存放在一个区块中,而另一半在其相伴的区块中。这样一种存储器系统的操作,类似于以上介绍的第一个系统实施例,只不过各个页面是从两个区块中的半页部分读出。

应当注意,通过在存储器单元的每个存储元件中存放一位数据,否则每个存储元件存放两位或更多位,可以实施任何以上应用的存储器系统。如果存储器单元运行在两种状态下,仅有两种阈值电压水平(二进制),就存放一个数位。如果运行的单元具有不只两种阈值电压水平(多态),从而以不只两种状态运行,就存放不只一个数位。以上指出的许多专利和申请书在这里引用以进一步介绍二进制和多态操作的如果方面。在各个单元中存放的两个或更多数位中的每一位,都能够在上面介绍的方式管理的存储器系统之内,或者在一个公共页面中寻址,或者在不同的页面中寻址。

尽管已经介绍了本发明多个方面的具体实施实例,应当理解,授权本发明受到附带的权利要求书全部范围之内的保护。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号