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

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

Info

Publication number
CN101427225A
CN101427225A CNA018209025A CN01820902A CN101427225A CN 101427225 A CN101427225 A CN 101427225A CN A018209025 A CNA018209025 A CN A018209025A CN 01820902 A CN01820902 A CN 01820902A CN 101427225 A CN101427225 A CN 101427225A
Authority
CN
China
Prior art keywords
data
block
attribute
user data
page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA018209025A
Other languages
English (en)
Other versions
CN101427225B (zh
Inventor
卡罗斯·冈泽雷兹
凯文·M.·康利
伊利亚霍·哈莱利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Delphi International Operations Luxembourg SARL
Original Assignee
SanDisk Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SanDisk Corp filed Critical SanDisk Corp
Publication of CN101427225A publication Critical patent/CN101427225A/zh
Application granted granted Critical
Publication of CN101427225B publication Critical patent/CN101427225B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7209Validity control, e.g. using flags, time stamps or sequence numbers

Abstract

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

Description

数据区段尺寸不同于存储器页面和/或区块尺寸之非易失性存储器系统的操作技术
技术领域
本发明涉及半导体存储器系统,尤其是非易失性的存储器系统,已经应用于闪速可电擦除可编程只读存储器(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的一个区块中。这两个区块在单位之内可以具有相同的相对地址,并且可以由单行中的存储器单元形成,这些单元具有延伸通过这两个区块的公共字线。不过优选情况下,可能需要对应的半页位于不共享字线的区块中。无论是哪种情况,这种页面分割都能够增加并行写入时同时写入的页面单元的数目。
这种不同架构的存储器页面,其使用方式可以与以上介绍的第一个实例相同。小于或大于页面容量的用户数据区段,在各个区块之内跨越相邻的页面存放,除非每个用户数据区段的一半存放在一个单位之区块中页面的一半中,而该区段的另一半存放在其它单位之区块中页面的剩余一半中。同样,对于包含着专为存储用户数据的属性记录之页面的区块,以及存放这些数据的区块,属性数据页面的一半存放在一个区块中,而另一半在其相伴的区块中。这样一种存储器系统的操作,类似于以上介绍的第一个系统实施例,只不过各个页面是从两个区块中的半页部分读出。
应当注意,通过在存储器单元的每个存储元件中存放一位数据,否则每个存储元件存放两位或更多位,可以实施任何以上应用的存储器系统。如果存储器单元运行在两种状态下,仅有两种阈值电压水平(二进制),就存放一个数位。如果运行的单元具有不只两种阈值电压水平(多态),从而以不只两种状态运行,就存放不只一个数位。以上指出的许多专利和申请书在这里引用以进一步介绍二进制和多态操作的如果方面。在各个单元中存放的两个或更多数位中的每一位,都能够在上面介绍的方式管理的存储器系统之内,或者在一个公共页面中寻址,或者在不同的页面中寻址。
尽管已经介绍了本发明多个方面的具体实施实例,应当理解,授权本发明受到附带的权利要求书全部范围之内的保护。

Claims (26)

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中任何一条的方法,其特征在于,第一组区块中的所述各个区块不包含任何所述辅助信息。
CN018209025A 2000-11-22 2001-11-13 数据区段尺寸不同于存储器页面和/或区块尺寸之非易失性存储器系统的操作技术 Expired - Fee Related CN101427225B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/718,802 2000-11-22
US09/718,802 US6684289B1 (en) 2000-11-22 2000-11-22 Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory
PCT/US2001/047166 WO2002049039A2 (en) 2000-11-22 2001-11-13 Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory

Publications (2)

Publication Number Publication Date
CN101427225A true CN101427225A (zh) 2009-05-06
CN101427225B CN101427225B (zh) 2010-09-29

Family

ID=24887613

Family Applications (1)

Application Number Title Priority Date Filing Date
CN018209025A Expired - Fee Related CN101427225B (zh) 2000-11-22 2001-11-13 数据区段尺寸不同于存储器页面和/或区块尺寸之非易失性存储器系统的操作技术

Country Status (10)

Country Link
US (3) US6684289B1 (zh)
EP (1) EP1340150B1 (zh)
JP (2) JP3827640B2 (zh)
KR (1) KR100896698B1 (zh)
CN (1) CN101427225B (zh)
AT (1) ATE453150T1 (zh)
AU (1) AU2002239551A1 (zh)
DE (1) DE60140897D1 (zh)
TW (1) TW530304B (zh)
WO (1) WO2002049039A2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102024497A (zh) * 2009-09-22 2011-04-20 成都市华为赛门铁克科技有限公司 一种存储数据的方法及存储装置
CN102411548A (zh) * 2011-10-27 2012-04-11 忆正存储技术(武汉)有限公司 闪存控制器以及闪存间数据传输方法
CN103984605A (zh) * 2013-02-08 2014-08-13 希捷科技有限公司 在多层存储器结构中存储纠错码
CN108304277A (zh) * 2017-01-12 2018-07-20 质子世界国际公司 闪速存储器中的纠错

Families Citing this family (125)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4079506B2 (ja) * 1997-08-08 2008-04-23 株式会社東芝 不揮発性半導体メモリシステムの制御方法
US6426893B1 (en) * 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
US6684289B1 (en) * 2000-11-22 2004-01-27 Sandisk Corporation Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory
US6763424B2 (en) * 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
US7108975B2 (en) * 2001-09-21 2006-09-19 Regents Of The University Of Michigan Atlastin
US6904492B2 (en) * 2001-12-19 2005-06-07 Hewlett-Packard Development Company, L.P. Write-once memory device including non-volatile memory for temporary storage
US20040153746A1 (en) * 2002-04-24 2004-08-05 Talagala Nisha D. Mechanisms for embedding and using integrity metadata
US6880060B2 (en) * 2002-04-24 2005-04-12 Sun Microsystems, Inc. Method for storing metadata in a physical sector
US7051155B2 (en) * 2002-08-05 2006-05-23 Sun Microsystems, Inc. Method and system for striping data to accommodate integrity metadata
US7020805B2 (en) * 2002-08-15 2006-03-28 Sun Microsystems, Inc. Efficient mechanisms for detecting phantom write errors
US7210010B2 (en) * 2002-09-30 2007-04-24 Insignia Solutions Plc Efficient system and method for updating a memory device
US7039788B1 (en) 2002-10-28 2006-05-02 Sandisk Corporation Method and apparatus for splitting a logical block
US7254668B1 (en) * 2002-10-28 2007-08-07 Sandisk Corporation Method and apparatus for grouping pages within a block
US7296213B2 (en) * 2002-12-11 2007-11-13 Nvidia Corporation Error correction cache for flash memory
US7133883B2 (en) * 2002-12-23 2006-11-07 Sun Microsystems, Inc. General techniques for diagnosing data corruptions
US7103811B2 (en) * 2002-12-23 2006-09-05 Sun Microsystems, Inc Mechanisms for detecting silent errors in streaming media devices
US20040123032A1 (en) * 2002-12-24 2004-06-24 Talagala Nisha D. Method for storing integrity metadata in redundant data layouts
EP1435576B1 (en) * 2003-01-03 2013-03-20 Austria Card Plastikkarten und Ausweissysteme GmbH Method and apparatus for block-oriented memory management provided in smart card controllers
US7634614B2 (en) * 2003-01-13 2009-12-15 Sierra Logic Integrated-circuit implementation of a storage-shelf router and a path controller card for combined use in high-availability mass-storage-device shelves and that support virtual disk formatting
US6944063B2 (en) * 2003-01-28 2005-09-13 Sandisk Corporation Non-volatile semiconductor memory with large erase blocks storing cycle counts
FI117489B (fi) 2003-02-07 2006-10-31 Nokia Corp Menetelmä muistikortin osoittamiseksi, muistikorttia käyttävä järjestelmä, ja muistikortti
US7197617B2 (en) * 2003-05-29 2007-03-27 International Business Machines Corporation Process, apparatus, and system for storing data check information using standard sector data field sizes
US6906961B2 (en) 2003-06-24 2005-06-14 Micron Technology, Inc. Erase block data splitting
US7076598B2 (en) * 2003-09-09 2006-07-11 Solid State System Co., Ltd. Pipeline accessing method to a large block memory
US7188228B1 (en) 2003-10-01 2007-03-06 Sandisk Corporation Hybrid mapping implementation within a non-volatile memory system
TWI226643B (en) * 2003-10-31 2005-01-11 C One Technology Corp Simulated SmartMedia/xD-Picture memory card using any nonvolatile memory
US7353432B1 (en) 2003-11-25 2008-04-01 Sun Microsystems, Inc. Maintaining high data integrity
US7383375B2 (en) * 2003-12-30 2008-06-03 Sandisk Corporation Data run programming
US20050144363A1 (en) * 2003-12-30 2005-06-30 Sinclair Alan W. Data boundary management
US7433993B2 (en) * 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
US7350044B2 (en) * 2004-01-30 2008-03-25 Micron Technology, Inc. Data move method and apparatus
US20050213393A1 (en) * 2004-03-14 2005-09-29 M-Systems Flash Disk Pioneers, Ltd. States encoding in multi-bit flash cells for optimizing error rate
KR100648243B1 (ko) 2004-03-19 2006-11-24 삼성전자주식회사 낸드 플래시 메모리를 사용하는 메모리 카드
US7490283B2 (en) 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
CN1332289C (zh) * 2004-06-14 2007-08-15 张毅 一种多媒体存储卡
KR100645058B1 (ko) * 2004-11-03 2006-11-10 삼성전자주식회사 데이터 신뢰성을 향상시킬 수 있는 메모리 관리 기법
US7493457B2 (en) * 2004-11-08 2009-02-17 Sandisk Il. Ltd States encoding in multi-bit flash cells for optimizing error rate
US7120051B2 (en) 2004-12-14 2006-10-10 Sandisk Corporation Pipelined programming of non-volatile memories using early data
US7409473B2 (en) 2004-12-21 2008-08-05 Sandisk Corporation Off-chip data relocation
US7849381B2 (en) 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
US7212440B2 (en) 2004-12-30 2007-05-01 Sandisk Corporation On-chip data grouping and alignment
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
US20060184718A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
US9104315B2 (en) 2005-02-04 2015-08-11 Sandisk Technologies Inc. Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage
US7877539B2 (en) 2005-02-16 2011-01-25 Sandisk Corporation Direct data file storage in flash memories
US7206230B2 (en) 2005-04-01 2007-04-17 Sandisk Corporation Use of data latches in cache operations of non-volatile memories
US7389397B2 (en) * 2005-06-01 2008-06-17 Sandisk Il Ltd Method of storing control information in a large-page flash memory device
US7627733B2 (en) * 2005-08-03 2009-12-01 Sandisk Corporation Method and system for dual mode access for storage devices
US7984084B2 (en) 2005-08-03 2011-07-19 SanDisk Technologies, Inc. Non-volatile memory with scheduled reclaim operations
US7480766B2 (en) 2005-08-03 2009-01-20 Sandisk Corporation Interfacing systems operating through a logical address space and on a direct data file basis
US7669003B2 (en) * 2005-08-03 2010-02-23 Sandisk Corporation Reprogrammable non-volatile memory systems with indexing of directly stored data files
US7558906B2 (en) * 2005-08-03 2009-07-07 Sandisk Corporation Methods of managing blocks in nonvolatile memory
US7949845B2 (en) * 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7552271B2 (en) * 2005-08-03 2009-06-23 Sandisk Corporation Nonvolatile memory with block management
US20070089023A1 (en) * 2005-09-30 2007-04-19 Sigmatel, Inc. System and method for system resource access
WO2007047062A2 (en) * 2005-10-13 2007-04-26 Sandisk Corporation Storage of transformed units of data in a memory system having fixed sized storage blocks
US7814262B2 (en) * 2005-10-13 2010-10-12 Sandisk Corporation Memory system storing transformed units of data in fixed sized storage blocks
US7529905B2 (en) * 2005-10-13 2009-05-05 Sandisk Corporation Method of storing transformed units of data in a memory system having fixed sized storage blocks
US7631162B2 (en) 2005-10-27 2009-12-08 Sandisck Corporation Non-volatile memory with adaptive handling of data writes
US7509471B2 (en) 2005-10-27 2009-03-24 Sandisk Corporation Methods for adaptively handling data writes in non-volatile memories
JP5002944B2 (ja) * 2005-11-15 2012-08-15 ソニー株式会社 情報処理装置、撮像装置、および情報処理方法、並びにコンピュータ・プログラム
WO2007066720A1 (ja) * 2005-12-09 2007-06-14 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶装置並びにデータ書込み方法及びデータ読み出し方法
US20070136671A1 (en) * 2005-12-12 2007-06-14 Buhrke Eric R Method and system for directing attention during a conversation
US7793068B2 (en) * 2005-12-21 2010-09-07 Sandisk Corporation Dual mode access for non-volatile storage devices
US7747837B2 (en) 2005-12-21 2010-06-29 Sandisk Corporation Method and system for accessing non-volatile storage devices
US7769978B2 (en) 2005-12-21 2010-08-03 Sandisk Corporation Method and system for accessing non-volatile storage devices
DE102006013765A1 (de) * 2006-03-24 2007-09-27 Robert Bosch Gmbh Verfahren zur Belegung eines Speichers
US20070300130A1 (en) * 2006-05-17 2007-12-27 Sandisk Corporation Method of Error Correction Coding for Multiple-Sector Pages in Flash Memory Devices
US7809994B2 (en) * 2006-05-17 2010-10-05 Sandisk Corporation Error correction coding for multiple-sector pages in flash memory devices
WO2007137013A2 (en) * 2006-05-17 2007-11-29 Sandisk Corporation Error correction coding for multiple-sector pages in flash memory devices
US8219739B2 (en) * 2006-06-30 2012-07-10 Intel Corporation Read-only optimized flash file system architecture
WO2008016170A1 (en) * 2006-07-31 2008-02-07 Kabushiki Kaisha Toshiba Nonvolatile memory system, and data read/write method for nonvolatile memory system
US7716415B2 (en) * 2006-08-01 2010-05-11 Sandisk Il Ltd. Method of avoiding errors in flash memory
JP5019567B2 (ja) * 2006-08-04 2012-09-05 ソニーモバイルコミュニケーションズ株式会社 メモリ管理方法および携帯端末装置
US7280398B1 (en) * 2006-08-31 2007-10-09 Micron Technology, Inc. System and memory for sequential multi-plane page memory operations
US7536500B2 (en) * 2006-09-29 2009-05-19 Intel Corporation Header blocks for flash memory writes
US8316206B2 (en) * 2007-02-12 2012-11-20 Marvell World Trade Ltd. Pilot placement for non-volatile memory
US8060688B2 (en) * 2006-12-07 2011-11-15 Nxp B.V. Method and device for reconfiguration of reliability data in flash EEPROM storage pages
US8370561B2 (en) * 2006-12-24 2013-02-05 Sandisk Il Ltd. Randomizing for suppressing errors in a flash memory
US8127200B2 (en) * 2006-12-24 2012-02-28 Sandisk Il Ltd. Flash memory device and system with randomizing for suppressing errors
CN100458718C (zh) * 2006-12-29 2009-02-04 福昭科技(深圳)有限公司 一种闪存存储装置及其数据读取和写入方法
US7984360B2 (en) * 2006-12-31 2011-07-19 Ramot At Tel Aviv University Ltd. Avoiding errors in a flash memory by using substitution transformations
KR100877609B1 (ko) * 2007-01-29 2009-01-09 삼성전자주식회사 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법
US8019959B2 (en) * 2007-02-09 2011-09-13 Marvell World Trade Ltd. Nonvolatile memory system
JP2008269499A (ja) * 2007-04-24 2008-11-06 Kyoto Software Research Inc バッドブロックマークの保存方法
US7853841B2 (en) * 2007-10-29 2010-12-14 Micron Technology, Inc. Memory cell programming
US8301912B2 (en) * 2007-12-31 2012-10-30 Sandisk Technologies Inc. System, method and memory device providing data scrambling compatible with on-chip copy operation
EP2592552B1 (en) 2008-03-11 2015-11-25 Agere Systems Inc. Methods and apparatus for storing data in a multi-level cell flash memory device with cross-page sectors, multi-page coding and per-page coding
US8059455B2 (en) * 2008-05-09 2011-11-15 Sandisk Il Ltd. Partial scrambling to reduce correlation
US8843691B2 (en) * 2008-06-25 2014-09-23 Stec, Inc. Prioritized erasure of data blocks in a flash storage device
TWI370969B (en) 2008-07-09 2012-08-21 Phison Electronics Corp Data accessing method, and storage system and controller using the same
US8671327B2 (en) 2008-09-28 2014-03-11 Sandisk Technologies Inc. Method and system for adaptive coding in flash memories
KR101738173B1 (ko) * 2008-09-28 2017-05-19 라모트 앳 텔-아비브 유니버시티 리미티드 플래시 메모리에서의 적응형 코딩 방법 및 시스템
US8700840B2 (en) * 2009-01-05 2014-04-15 SanDisk Technologies, Inc. Nonvolatile memory with write cache having flush/eviction methods
US8244960B2 (en) * 2009-01-05 2012-08-14 Sandisk Technologies Inc. Non-volatile memory and method with write cache partition management methods
US8094500B2 (en) * 2009-01-05 2012-01-10 Sandisk Technologies Inc. Non-volatile memory and method with write cache partitioning
US20100174845A1 (en) * 2009-01-05 2010-07-08 Sergey Anatolievich Gorobets Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques
US8040744B2 (en) * 2009-01-05 2011-10-18 Sandisk Technologies Inc. Spare block management of non-volatile memories
US8589700B2 (en) 2009-03-04 2013-11-19 Apple Inc. Data whitening for writing and reading data to and from a non-volatile memory
US8631304B2 (en) 2010-01-28 2014-01-14 Sandisk Il Ltd. Overlapping error correction operations
US8850114B2 (en) 2010-09-07 2014-09-30 Daniel L Rosenband Storage array controller for flash-based storage devices
KR101736792B1 (ko) 2010-09-20 2017-05-18 삼성전자주식회사 플래시 메모리 및 그것의 셀프 인터리빙 방법
US8472280B2 (en) 2010-12-21 2013-06-25 Sandisk Technologies Inc. Alternate page by page programming scheme
US9898361B2 (en) 2011-01-04 2018-02-20 Seagate Technology Llc Multi-tier detection and decoding in flash memories
US9292377B2 (en) 2011-01-04 2016-03-22 Seagate Technology Llc Detection and decoding in flash memories using correlation of neighboring bits and probability based reliability values
US8626989B2 (en) 2011-02-02 2014-01-07 Micron Technology, Inc. Control arrangements and methods for accessing block oriented nonvolatile memory
US8595415B2 (en) * 2011-02-02 2013-11-26 Micron Technology, Inc. At least semi-autonomous modules in a memory system and methods
KR101861247B1 (ko) 2011-04-06 2018-05-28 삼성전자주식회사 메모리 컨트롤러, 이의 데이터 처리 방법, 및 이를 포함하는 메모리 시스템
JP2012226822A (ja) 2011-04-15 2012-11-15 Samsung Electronics Co Ltd 不揮発性メモリ装置
US8848445B2 (en) * 2011-05-17 2014-09-30 Sandisk Technologies Inc. System and method for minimizing write amplification while maintaining sequential performance using logical group striping in a multi-bank system
US9086999B2 (en) * 2011-07-05 2015-07-21 International Business Machines Corporation Data encryption management
JP5677336B2 (ja) * 2011-08-01 2015-02-25 株式会社東芝 メモリ・デバイス
US9158675B2 (en) * 2012-03-16 2015-10-13 Marvell World Trade Ltd. Architecture for storage of data on NAND flash memory
US9098403B2 (en) 2012-11-09 2015-08-04 Sandisk Technologies Inc. NAND flash based content addressable memory
US9075424B2 (en) 2013-03-06 2015-07-07 Sandisk Technologies Inc. Compensation scheme to improve the stability of the operational amplifiers
KR102295661B1 (ko) * 2013-12-15 2021-08-30 삼성전자주식회사 보안 통신방법 및 장치와 이를 채용하는 멀티미디어 기기
US9448745B2 (en) * 2014-03-13 2016-09-20 NXGN Data, Inc. Configurable read-modify-write engine and method for operating the same in a solid state drive
US10114562B2 (en) 2014-09-16 2018-10-30 Sandisk Technologies Llc Adaptive block allocation in nonvolatile memory
KR102441284B1 (ko) 2016-01-12 2022-09-08 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US9983820B2 (en) 2016-03-29 2018-05-29 Nxp B.V. Method for performing data updates
US10769064B1 (en) 2017-12-20 2020-09-08 Pliops Ltd Method for retrieving key value pairs and groups of key value pairs
US11210166B1 (en) 2017-12-22 2021-12-28 Pliops Ltd. Efficient redundancy management in key-value NAND flash storage
US10860249B2 (en) 2017-12-25 2020-12-08 Pliops Ltd. Solid state disk (SSD) controller and database
US11070229B1 (en) 2019-05-19 2021-07-20 Pliops Codeword generator
JP2022147448A (ja) * 2021-03-23 2022-10-06 キオクシア株式会社 メモリシステム及びデータ管理方法

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
EP0618535B1 (en) 1989-04-13 1999-08-25 SanDisk Corporation EEPROM card with defective cell substitution and cache memory
US5200959A (en) 1989-10-17 1993-04-06 Sundisk Corporation Device and method for defect handling in semi-conductor memory
WO1999027539A1 (en) * 1997-11-21 1999-06-03 Btg International Inc. Memory apparatus including programmable non-volatile multi-bit memory cell, and apparatus and method for demarcating memory states of the cell
US5218569A (en) * 1991-02-08 1993-06-08 Banks Gerald J Electrically alterable non-volatile memory with n-bits per memory cell
US5270979A (en) 1991-03-15 1993-12-14 Sundisk Corporation Method for optimum erasing of EEPROM
US5663901A (en) 1991-04-11 1997-09-02 Sandisk Corporation Computer memory cards using flash EEPROM integrated circuit chips and memory-controller systems
US5266944A (en) * 1991-06-26 1993-11-30 Bodyguard Technologies, Inc. Electronic system and method for monitoring abusers for compliance with a protective order
US5430859A (en) 1991-07-26 1995-07-04 Sundisk Corporation Solid state memory system including plural memory chips and a serialized bus
US5218344A (en) * 1991-07-31 1993-06-08 Ricketts James G Method and system for monitoring personnel
JP3178909B2 (ja) 1992-01-10 2001-06-25 株式会社東芝 半導体メモリ装置
US5712180A (en) 1992-01-14 1998-01-27 Sundisk Corporation EEPROM with split gate source side injection
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5889474A (en) * 1992-05-18 1999-03-30 Aeris Communications, Inc. Method and apparatus for transmitting subject status information over a wireless communications network
US5532962A (en) 1992-05-20 1996-07-02 Sandisk Corporation Soft errors handling in EEPROM devices
US5315541A (en) 1992-07-24 1994-05-24 Sundisk Corporation Segmented column memory array
US5428621A (en) 1992-09-21 1995-06-27 Sundisk Corporation Latent defect handling in EEPROM devices
US5822781A (en) * 1992-10-30 1998-10-13 Intel Corporation Sector-based storage device emulator having variable-sized sector
JP3088866B2 (ja) * 1992-11-26 2000-09-18 大日本印刷株式会社 Icカード
US5603001A (en) * 1994-05-09 1997-02-11 Kabushiki Kaisha Toshiba Semiconductor disk system having a plurality of flash memories
JPH07302175A (ja) * 1994-05-09 1995-11-14 Toshiba Corp 半導体ディスク装置
JPH07302176A (ja) * 1994-05-09 1995-11-14 Toshiba Corp 半導体ディスク装置
US5579259A (en) 1995-05-31 1996-11-26 Sandisk Corporation Low voltage erase of a flash EEPROM system having a common erase electrode for two individually erasable sectors
US5987478A (en) * 1995-10-31 1999-11-16 Intel Corporation Virtual small block file manager for flash memory array
US5712179A (en) 1995-10-31 1998-01-27 Sandisk Corporation Method of making triple polysilicon flash EEPROM arrays having a separate erase gate for each row of floating gates
US5745037A (en) * 1996-06-13 1998-04-28 Northrop Grumman Corporation Personnel monitoring tag
US5870029A (en) * 1996-07-08 1999-02-09 Harris Corporation Remote mobile monitoring and communication system
JPH10124384A (ja) * 1996-08-28 1998-05-15 Toshiba Corp 不揮発性半導体メモリの制御方法
JPH10124381A (ja) * 1996-10-21 1998-05-15 Mitsubishi Electric Corp 半導体記憶装置
US5890192A (en) 1996-11-05 1999-03-30 Sandisk Corporation Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM
JPH10240627A (ja) * 1997-02-26 1998-09-11 Fujitsu Ltd セクタ管理方法及び装置
US5930167A (en) 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache
JP3766188B2 (ja) * 1997-08-22 2006-04-12 沖電気工業株式会社 論理フォーマット変換方法およびデータ保存媒体
JP3954698B2 (ja) * 1997-08-29 2007-08-08 パナソニック コミュニケーションズ株式会社 メモリー制御装置
JPH11203191A (ja) 1997-11-13 1999-07-30 Seiko Epson Corp 不揮発性記憶装置、不揮発性記憶装置の制御方法、および、不揮発性記憶装置を制御するプログラムを記録した情報記録媒体
JP2000076117A (ja) * 1998-08-31 2000-03-14 Kano Densan Hongkong Yugenkoshi 電子機器及びその制御方法及び記憶媒体
GB9903490D0 (en) 1999-02-17 1999-04-07 Memory Corp Plc Memory system
JP4141581B2 (ja) * 1999-04-05 2008-08-27 株式会社ルネサステクノロジ フラッシュメモリを搭載する記憶装置
JP2000298992A (ja) * 1999-04-13 2000-10-24 Hitachi Ltd 多値記憶不揮発性半導体メモリの制御装置
US6151248A (en) 1999-06-30 2000-11-21 Sandisk Corporation Dual floating gate EEPROM cell array with steering gates shared by adjacent cells
US6426893B1 (en) 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
US6373389B1 (en) * 2000-04-21 2002-04-16 Usm Systems, Ltd. Event driven information system
US6463516B1 (en) * 2000-04-25 2002-10-08 Advanced Micro Devices, Inc. Variable sector size for a high density flash memory device
US20030120858A1 (en) * 2000-09-15 2003-06-26 Matrix Semiconductor, Inc. Memory devices and methods for use therewith
US6684289B1 (en) * 2000-11-22 2004-01-27 Sandisk Corporation Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102024497A (zh) * 2009-09-22 2011-04-20 成都市华为赛门铁克科技有限公司 一种存储数据的方法及存储装置
CN102024497B (zh) * 2009-09-22 2013-10-02 成都市华为赛门铁克科技有限公司 一种存储数据的方法及存储装置
CN102411548A (zh) * 2011-10-27 2012-04-11 忆正存储技术(武汉)有限公司 闪存控制器以及闪存间数据传输方法
CN102411548B (zh) * 2011-10-27 2014-09-10 忆正存储技术(武汉)有限公司 闪存控制器以及闪存间数据传输方法
CN103984605A (zh) * 2013-02-08 2014-08-13 希捷科技有限公司 在多层存储器结构中存储纠错码
CN103984605B (zh) * 2013-02-08 2018-03-30 希捷科技有限公司 在多层存储器结构中存储纠错码
CN108304277A (zh) * 2017-01-12 2018-07-20 质子世界国际公司 闪速存储器中的纠错

Also Published As

Publication number Publication date
EP1340150B1 (en) 2009-12-23
AU2002239551A1 (en) 2002-06-24
JP3827640B2 (ja) 2006-09-27
JP2004516536A (ja) 2004-06-03
DE60140897D1 (de) 2010-02-04
CN101427225B (zh) 2010-09-29
WO2002049039A2 (en) 2002-06-20
US7032065B2 (en) 2006-04-18
JP2006196016A (ja) 2006-07-27
US6684289B1 (en) 2004-01-27
JP4486938B2 (ja) 2010-06-23
EP1340150A2 (en) 2003-09-03
US7171513B2 (en) 2007-01-30
ATE453150T1 (de) 2010-01-15
US20040111555A1 (en) 2004-06-10
US20040123020A1 (en) 2004-06-24
WO2002049039A3 (en) 2003-06-05
KR100896698B1 (ko) 2009-05-14
KR20030081332A (ko) 2003-10-17
TW530304B (en) 2003-05-01

Similar Documents

Publication Publication Date Title
CN101427225B (zh) 数据区段尺寸不同于存储器页面和/或区块尺寸之非易失性存储器系统的操作技术
CN100458674C (zh) 多数据区段同时编程和在其它指定块中存储物理块特征的闪速eeprom系统
CN100454273C (zh) 用于块内页面分组的方法及设备
US7970987B2 (en) Partial block data programming and reading operations in a non-volatile memory
CN100435115C (zh) 具有非循序更新区块管理的非易失性存储器及方法
CN100487672C (zh) 用于分割一逻辑块的方法及设备
KR101060089B1 (ko) 온-칩 데이터 그룹화 및 정렬
TWI283860B (en) Method for storing first and second files in a memory device
CN1701300B (zh) 用于分解与一共用逻辑块相关联的物理块的方法和设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: SANDISK TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: SANDISK CORP.

Effective date: 20120322

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20120322

Address after: American Texas

Patentee after: Sandisk Corp.

Address before: American California

Patentee before: Sandisk Corp.

C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: texas

Patentee after: DELPHI INT OPERATIONS LUX SRL

Address before: American Texas

Patentee before: Sandisk Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100929

Termination date: 20201113

CF01 Termination of patent right due to non-payment of annual fee