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

文档序号:6476115阅读:267来源:国知局
专利名称:数据区段尺寸不同于存储器页面和/或区块尺寸之非易失性存储器系统的操作技术的利记博彩app
技术领域
本发明涉及半导体存储器系统,尤其是非易失性的存储器系
统,已经应用于闪速可电擦除可编程只读存储器(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中用户数据对应的区块中,存储辅助 数据页面的一个实例;
图IO展示了图9中辅助数据的一个实例页面;
图ll展示了一个表格,它是存储器系统的控制器按照图8和图9存放的辅助数据之内的数据建立的;
图12显示了另一种特定的现有商业存储器系统之架构的一部 分;以及
图13展示了把用户数据区段结合成图12的存储器系统中区块 的一个实例。
具体实施例方式
图1提供了一幅示意图,展示了与本发明有关的非易失性存储 器系统的主要部件。控制器11通过连线13与主机系统(未显示)进 行通信。展示为占据着一个集成电路芯片的控制器11,通过连线15 与一个或多个非易失性存储器单元阵列通信,图中展示了 一个此类阵 列17,每一个阵列通常是在一个单独的集成电路上形成的。展示的 控制器通常包含在单一的集成电路芯片上,或者是没有闪速 EEPROM阵列(显示的实例),或者是带有系统存储器单元阵列的 某些或全部。即使某个存储器单元阵列包括在控制器电路芯片上,系 统中往往还要包括另外的一个或多个芯片,其中每一个只包含一个存 储器阵列和相关联的电路。
在这个实例中,用户数据通过连线15,在控制器ll和存储器阵 列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中的数据形成的表格和其它数据。RAM 29也包括控制器的处理器 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算出的ECC 111、该页面所在的逻辑区块号(LBN) 113和两个旗标115和117。 正常情况下,ECC lll是用户数据的一个属性。从剩余的页面属性数 据可以算出另外一个ECC (未显示),并且存放在页面属性数据109 之内,但是某些区域比如区域113、 115和117存储时往往没有完全 的ECC。 LBN 113是该页面所在区块的一个属性,并且可以注意 到,在一个区块之内的32个页面中的每一个中,它是重复的。
图8展示了区块103的一种修改的使用,以便存放一个附加的 用户数据区段,但是每个页面中现在不包括辅助数据。三十三个区段 S的用户数据(S0-S32)存放在存储器的区块103的三十二个页面 (P0-P31)中。每个用户数据区段包含512字节的数据。第一个区段 S0几乎填满第一个页面P0的存储器单元,正常情况下它存放着16 字节的辅助数据。这16字节的容量用于存放下一个用户数据区段Sl 的最初16字节,数据区段Sl的剩余数据存放在第二个页面Pl中。 那么这又在第二个页面P1中留下了 32字节的容量,用于存放第三个 数据区段S2的起始数据,S2的剩余部分存放在第三个页面P2中,依此类推。因为物理的和数据区段的数目的巧合,可以算出每个区块
能够利用33个用户数据区段完全填满。不过,假若在物理页面、区 块和数据区段的尺寸不同的另一种系统中,不存在这样恰好的分配, 剩余的容量也可以用于另一个数据区段的一部分,只是该数据区段的 剩余部分存放在一个不同区块的另一个页面中。
由于区块103的页面是在一次写入操作中可以写入的最小的存 储器单位,优选情况下,来自不同区段S0-S32的用户数据,在控制 器的一个存储器中组装成图8所示的页面。换句话说,在第一个页面 P0写入区块103之前,第二个用户数据区段Sl的最初16字节就附 加在区段SO的尾部,然后写入该页面。同样,对于第二个页面Pl, 区段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的属性。每个 用户数据区段属性记录包括由对应用户数据区段算出的一个ECC 129。该用户数据的转换情况可以存放在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 (见图IO)进行了更新,所以处理器能够区分该数据的当前版本 和旧版本。仅仅使用当前的版本。如果在区块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的一个区块中。这 两个区块在单位之内可以具有相同的相对地址,并且可以由单行中的 存储器单元形成,这些单元具有延伸通过这两个区块的公共字线。不 过优选情况下,可能需要对应的半页位于不共享字线的区块中。无论 是哪种情况,这种页面分割都能够增加并行写入时同时写入的页面单 元的数目。
这种不同架构的存储器页面,其使用方式可以与以上介绍的第 一个实例相同。小于或大于页面容量的用户数据区段,在各个区块之 内跨越相邻的页面存放,除非每个用户数据区段的一半存放在一个单 位之区块中页面的一半中,而该区段的另一半存放在其它单位之区块 中页面的剩余一半中。同样,对于包含着专为存储用户数据的属性记 录之页面的区块,以及存放这些数据的区块,属性数据页面的一半存 放在一个区块中,而另一半在其相伴的区块中。这样一种存储器系统 的操作,类似于以上介绍的第一个系统实施例,只不过各个页面是从 两个区块中的半页部分读出。
应当注意,通过在存储器单元的每个存储元件中存放一位数 据,否则每个存储元件存放两位或更多位,可以实施任何以上应用的 存储器系统。如果存储器单元运行在两种状态下,仅有两种阈值电压 水平(二进制),就存放一个数位。如果运行的单元具有不只两种阈 值电压水平(多态),从而以不只两种状态运行,就存放不只一个数 位。以上指出的许多专利和申请书在这里引用以进一步介绍二进制和 多态搡作的如果方面。在各个单元中存放的两个或更多数位中的每一 位,都能够在上面介绍的方式管理的存储器系统之内,或者在一个公 共页面中寻址,或者在不同的页面中寻址。
尽管已经介绍了本发明多个方面的具体实施实例,应当理解, 授权本发明受到附带的权利要求书全部范围之内的保护。
权利要求
1. 一种操作存储器系统的方法,该系统具有被组织成多个区块的多个存储器单元,分别包含着通过对各个区块寻址从而可同时擦除的存储器单元的最小组群,所述区块可以整数数目的多个页面为单位分别写入,每个页面有给定数量的数据,这些区块包括数据的写入区段,在各个区块之内跨越所述页面的边界,分别包含少于所述给定数量的数据,其特征在于,写入一个区块的数据区段多于该区块中的页面数目。
2. 根据权利要求1的方法,其特征在于,所述数据区段分別包 含所有的用户数据、用户数据属性的数据以及写入所述数据区段的区 块属性的数据。
3. 根据权利要求1的方法,其特征在于,所述数据区段分别包 含用户数据和用户数据属性的数据这两种,而写入所述数据区段的区 块属性的数据,存放为不同的数据区段的一部分。
4. 根据权利要求1的方法,其特征在于,所述数据区段分別包 含用户数据,而用户数据属性的数据和写入各个数据区段的区块属性 的数据,存放为不同的数据区段的一部分。
5. 根据权利要求3或4中任何一条的方法,其特征在于,所述 不同数据区段存放在与属性数据所属的所述数据区段不同的区块中。
6. 根据权利要求1-4中任何一条的方法,另外包括搡作具有超 过两个的多个有效阈值电平的存储器单元,这些电平对应于各个单元 超过两个的多个可变状态,从而单元的存储元件分别存放着不只一位 数据。
7. —种操作存储器系统的方法,该系统具有被组织成多个区块 的多个存储器单元,分别包含着通过对各个区块寻址从而可同时擦除 之存储器单元的最小组群,所述区块可以一个或多个整数数目的页面 为单位分別写入,每个页面有给定数量的数据,这些区块包括数据的 写入区段,在跨越所述页面的边界,分别包含多于所述给定数量的数据。
8. 根据权利要求7的方法,其特征在于,所述数据区段分别包 含所有的用户数据、用户数据属性的数据以及写入所述数据区段的区 块属性的数据。
9. 根据权利要求7的方法,其特征在于,所述数据区段分别包 含用户数据和用户数据属性的数据这两种,而写入所述数据区段的区 块属性的数据,存放为不同的数据区段的一部分。
10. 根据权利要求7的方法,其特征在于,所述数据区段分别包 含用户数据,而用户数据属性的数据和写入各个数据区段的区块属性 的数据,存放为不同的数据区段的一部分。
11. 根据权利要求9或10中任何一条的方法,其特征在于,所 述不同数据区段存放在与属性数据所属的所述数据区段不同的区块 中。
12. 根据权利要求7-10中任何一条的方法,其特征在于,所述 区块分别包括仅仅一个页面。
13. 根据权利要求7-10中任何一条的方法,其特征在于,所述 区块分别包括多个页面。
14. 根据权利要求7-10中任何一条的方法,另外包括操作具有 超过两个的多个有效阈值电平的存储器单元,这些电平对应于各个单 元超过两个的多个可变状态,从而单元的存储元件分别存放着不只一 位数据。
15. 在一种具有被组织成多个区块的存储器单元的非易失性存储 器系统中,这些区块可以分别寻址,以便同时擦除一个区块之内的存 储器单元,其中,这些区块分别存放着多个数据页面,这些页面用于 分别存放至少一个用户数据区段,而且相关联的辅助数据包括该页面 中存放的相关联用户数据的至少一种属性,以及存放该页面之区块的 至少一种物理属性, 一种操作该存储器系统的改进的方法,包括在指定为存放辅助数据之页面的若干部分存放用户数据,其方 式为在各个区块中存放用户数据的至少一个附加区段,在所迷各个用户数据区块中不存储辅助数据,以及在与存放用户数据之区块完全不同的区块中,为多个用户数据 区块存放所述辅助数据,作为对应的各个记录。
16. 根据权利要求15的方法,其特征在于,存放所述辅助数据 包括存放辅助数据记录,对于对应的用户数据区块中存放的各个用户 数据区段,这些记录分别包括用户数据区块之一对应的一个属性字 段,以及用户数据属性的一个字段。
17. 根据权利要求16的方法,其特征在于,存放所迷辅助数据 包括在区块属性字段中既存放物理属性,又存放逻辑属性。
18. 根据权利要求16的方法,其特征在于,在各个辅助数据记 录之内存放对应区块的逻辑和物理地址。
19. 根据权利要求16的方法,其特征在于,用户数据属性的字 段包括由对应区块中对应页面之一中存放的用户数据算出的一个纠错 码。
20. 根据权利要求16的方法,其特征在于,物理区块属性的字 段包括对应区块已经被擦除的次数的一个计数器。
21. —种操作存储器系统的方法,该系统具有被组织成多个区块 的多个存储器单元,多个区块可以分别寻址,以便同时擦除一个区块 之内的存储器单元,该方法包括在第一组的各个区块之内,存放多个用户数据的区段,以及 在不同于第一组区块的第二组的各个区块中,存放多个记录, 其特征在于,所述多个记录分別包括若干属性的辅助信息,这些信息 是有关第一组区块中对应的一个及其中存放的用户数据的。
22. 根据权利要求21的方法,其特征在于,存放包括属性辅助 信息的记录包括存放对应用户数据区块的逻辑和物理地址。
23. 根据权利要求22的方法,另外包括通过读取对应的辅助记 录,在易失性存储器中形成一个临时的表格,包含对应用户数据区块 的逻辑和物理地址。
24. 根据权利要求21的方法,其特征在于,存放包括属性辅助信息的记录,包括存放一个纠错码,它已经由第一组区块中对应的一 个中存放的用户数据算出。
25. 根据权利要求21的方法,其特征在于,存放包括属性辅助 信息的记录包括存放第一组区块中对应的一个已经写入次数的一个计数器。
26. 根据权利要求21-25中任何一条的方法,其特征在于,第 一组区块中的所述各个区块不包含任何所迷辅助信息。
全文摘要
本文公开的一种非易失性的存储器系统,比如一种闪速EEPROM系统,划分为多个区块,每个区块又划分为一个或多个页面,其中存放着数据区段,其尺寸既不同于页面,又不同于区块。一种特定的技术将多个区段装入一个区块,而不是装入为该区块提供的页面。优选情况下,许多用户数据区段的纠错码和其它属性数据,一起存放在与用户数据不同的页面和区块中。
文档编号G06F12/00GK101427225SQ01820902
公开日2009年5月6日 申请日期2001年11月13日 优先权日2000年11月22日
发明者伊利亚霍·哈莱利, 凯文·M.·康利, 卡罗斯·冈泽雷兹 申请人:三因迪斯克公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1