CN101617372B - 具有动态多模式操作的非易失性存储器 - Google Patents

具有动态多模式操作的非易失性存储器 Download PDF

Info

Publication number
CN101617372B
CN101617372B CN200880005252.6A CN200880005252A CN101617372B CN 101617372 B CN101617372 B CN 101617372B CN 200880005252 A CN200880005252 A CN 200880005252A CN 101617372 B CN101617372 B CN 101617372B
Authority
CN
China
Prior art keywords
preservation mode
flash memory
data
subdivision
unit
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.)
Active
Application number
CN200880005252.6A
Other languages
English (en)
Other versions
CN101617372A (zh
Inventor
金镇祺
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.)
Mosaid Technologies Inc
Original Assignee
Mosaid Technologies Inc
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 Mosaid Technologies Inc filed Critical Mosaid Technologies Inc
Publication of CN101617372A publication Critical patent/CN101617372A/zh
Application granted granted Critical
Publication of CN101617372B publication Critical patent/CN101617372B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • 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/7204Capacity control, e.g. partitioning, end-of-life degradation
    • 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/7206Reconfiguration of flash memory system
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5646Multilevel memory with flag bits, e.g. for showing that a "first page" of a word line is programmed but not a "second page"

Abstract

一种用于延长闪速存储器装置的生命期的方法和系统。该闪速存储器装置动态地可配置为在每单元单比特(SBC)保存模式或每单元多比特(MBC)保存模式中保存数据,使得SBC数据和MBC数据二者共存在相同的存储器阵列中。保存在存储器的每个页面中的一个或多个标签位被用于指示在相应的子部分中保存该数据所使用的保存模式的类型,其中子部分能够是体、块或页面。控制器监控对应于每个页面的编程-擦除周期的数量以用于选择性地改变保存模式,以最大化多模式闪速存储器装置的任何子部分的生命期。

Description

具有动态多模式操作的非易失性存储器
背景技术
闪速存储器是常用的一类非易失性存储器,其广泛用作诸如例如数字照相机和便携式数字音乐播放器的消费电子设备的大容量存储装置。广泛适用的闪速存储器芯片的密度(当前)可达到4GB,由于一个闪速芯片的尺寸小,其适合用在流行的USB闪速驱动器中。
八百万像素的数字照相机和具有音乐和视频能力的便携式数字娱乐装置的出现促进了对于保存大量数据的超高容量的需求,而这种需求是单个闪速存储器装置不能满足的。因此,将多个闪速存储器装置一起组合到存储器系统中来有效增加可用的存储容量。例如,对于这样的应用,可能需要20GB的闪速存储密度。对于硬盘驱动器(HDD)应用,能够实现更高密度的系统。
图1是现有技术的典型闪速存储器的总的框图。闪速存储器10包括用于控制闪存电路的不同功能的诸如控制电路12的逻辑电路、用于保存地址信息、数据信息和命令数据信息的寄存器、用于产生所需编程和擦除电压的高电压电路和用于存取存储器阵列14的核心存储器电路。控制电路12包括命令解码器和用于执行诸如读出、编程和擦除功能的内部闪存操作的逻辑。闪速存储器10的所示电路块的功能是本领域内公知的。本领域内的普通技术人员理解图1中所示的闪速存储器10表示许多可能配置中的一个可能的闪速存储器配置。
图1的闪速存储器10的存储器单元阵列14包括任意数量的存储体,其是用于特定的闪存装置的选择的设计参数。图2是示出图1的存储器单元阵列14的一个体20的组织的示意图。存储体20被组织成k+1个块,并且每一块包括i+1个页面。k和i都是整数。每个页面对应于耦合到公共字线的存储器单元的行。块的存储器单元的详细描述如下。
每个块包括NAND存储器单元串,具有串联布置并且彼此电耦合的多达i+1个闪速存储器单元22。相应地,字线WL0到WLi耦合到存储器单元串中的每个闪速存储器单元的栅极。耦合到信号SSL(串选择线)的串选择装置24将存储器单元串选择性地连接到位线26,而耦合到信号GSL(接地选择线)的接地选择装置28将存储器单元串选择性地连接到诸如VSS的电源线。串选择装置24和接地选择装置28为n沟道晶体管。
存在对于存储体20的所有块的公共的j+1个位线26,并且每一位线26耦合到块[0]到[k]的每一块中的一个NAND存储器单元串。变量j是整数。每一字线(WL0到WLi)、SSL和GSL信号耦合到块中的每个NAND存储器单元串中的相同的对应的晶体管装置。如本领域的技术人员应该意识到的,沿着一个字线保存在闪速存储器单元中的数据被称为一页数据。
数据寄存器30耦合到体20的外部的每一位线,用于保存将要被编程到闪速存储器单元的一页中的一页的写数据。数据寄存器30还包括读取电路,用于读取从闪速存储器单元的一个页面读出的数据。在编程操作期间,数据寄存器执行编程验证操作,以确保该数据已经被正确编程到耦合到选择的字线的闪速存储器单元中。块内的编程典型地开始于对应于WL0的页面,并且顺序地进行直到WLi以充满当前块。替代地,编程能够开始于WLi并且顺序向下进行至WL0。然后编程以新块的WL0继续。在装置内,块典型地被顺序编程。
闪速存储器10的闪存单元能够以两种不同模式中的一种来保存数据。数据能够以每单元单比特(SBC)保存模式或每单元多比特(MBC)保存模式来保存。在SBC保存模式中,正好信息的一个比特被保存在一个单元,以表示两种可能状态的一种。在MBC保存模式中,2个比特被保存在一个单元中以表示四种可能状态的一种。当然,3个或更多个比特能够被保存在一个单元中,但是从此点开始,将使用2个比特被保存在一个单元的示例。在MBC保存模式(每单元2个或更多个比特)中保存数据的优点是:当使用相同数量的单元时,保存容量是SBC保存模式的至少两倍。当在SBC保存模式或MBC保存模式中保存数据时,闪速存储器10的主电路大体相同。由于在SBC和MBC读出和编程操作之间闪存电路被不同地控制,所以闪速存储器制造商在制造过程期间应用掩膜选项以配置闪速存储器10来执行SBC特定算法或MBC特定算法。
图3示出用于在SBC保存模式中擦除存储器单元和编程存储器单元的阈值电压(Vt)分布图。由于工艺和电压电源变化,擦除和编程阈值电压在电压范围内分布。如图3中所示,擦除存储器单元具有在-3V到-1V之间的负阈值电压,而编程存储器单元具有在1V到3V之间的正阈值电压。该范围依赖于存储器单元的希望的阈值电压。该阈值电压范围说明能够被用于特定闪速存储器装置中的可能的阈值电压,但是本领域内的技术人员理解用于擦除和编程存储器单元的阈值电压的选择将依赖于闪速存储器装置的设计和制造工艺。本领域内的技术人员理解不同的闪存装置将具有不同的阈值电压范围以适合特定设计或应用。
图4示出用于在MBC保存模式中擦除存储器单元和编程存储器单元的阈值电压(Vt)分布图。擦除存储器单元具有负阈值电压,并且存在存储器单元将保存的正阈值电压的3个范围,每一个对应于不同的状态。优选的,对于每一状态的阈值电压的最小和最大范围应被最小化,而范围之间的间距应被最大化。
在闪速存储器装置能够不再被用于可靠地保存数据之前,其具有有限次数的擦除-编程周期,这是公知的。更具体地,闪速存储器单元经受编程/擦除周期损耗,这是闪速存储器单元由于累积的编程和擦除操作的逐渐的退化。注意到,在使用数据编程存储器块之前,存储器块总是首先被擦除,因此周期能够指编程和擦除周期二者。本领域内的技术人员理解,所有当前公知的闪速存储器被配置用于块擦除,意味着如果仅块中的一个页面数据被修改,包含那个页面的整个块被擦除并且连同所修改的页面和未修改的页面被重新编程。这样的累积的编程和擦除操作的影响是存储器单元的编程和擦除特性的更改超出最佳参数。当存储器单元退化,需要较高编程和擦除电压以编程或擦除存储器单元到所希望的阈值电压。最后,存储器单元将不能正确地保持数据(即,希望的阈值电压)。例如,当前SBC闪速存储器的典型的额定的擦除-编程周期是大约100000个周期。但是,当前MBC闪速存储器具有更小额定的极限值的10000个周期。上面提及的擦除-编程周期极限值仅是示例,但MBC擦除-编程周期比SBC擦除-编程周期低相当大的因子是公知的。
当前,由于相对于闪速存储器的芯片尺寸的大存储密度,所以多数可用的闪速存储器是MBC类型。虽然这可适合于大多数消费者应用,但是10000个周期的编程-擦除极限值不足以用于频繁的数据编程和擦除的其它应用。因此,当MBC闪速存储器已经达到其10000周期的生命期时,其不再可用并必须被废弃。这个问题对于诸如HDD应用的商业应用更为严重,其中存在较频繁的编程-擦除周期。由于HDD应用比大多数消费者应用要求更高的数据整体性,则MBC闪速存储器由于其相对短的10000周期的生命期而不适合使用。
因此,希望提供一种对于消费者和商业应用二者都适合的、具有延长的生命期的闪速存储器和闪速存储器系统。
发明内容
本实施例的一个方面用来消除或者减轻先前的闪速存储器系统的至少一个缺点。
在第一方面中,提供了具有存储器阵列的闪速存储器装置。该闪速存储器装置包括命令解码器、控制逻辑电路和用于编程存储器单元的闪速存储器电路。该命令解码器响应外部编程命令来发出每单元多比特(MBC)编程命令和每单元单比特(SBC)编程命令中的一个。该控制逻辑电路响应该每单元多比特编程命令或该每单元单比特编程命令来执行编程算法。该闪速存储器电路响应该编程算法来编程该存储器阵列的存储器单元。根据本方面的实施例,该命令解码器包括用于发出SBC编程命令的SBC命令解码器,和用于发出MBC编程命令的MBC命令解码器。
在本方面的另一个实施例中,该存储器阵列包括被配置用于响应MBC编程命令在MBC保存模式中保存数据的第一子部分,和被配置用于响应SBC编程命令在SBC保存模式中保存数据的第二子部分。该第一子部分和该第二子部分能够包括存储块或存储页。每个子部分与用于指定MBC保存模式或SBC保存模式的模式标签相关联,其中每个子部分是该存储器阵列中的存储页。
在第二方面中,提供了一种用于在闪速存储器装置中保存数据的方法。该方法包括将该闪速存储器装置的子部分从第一保存模式转换为第二保存模式,该子部分具有指示该第一保存模式和该第二保存模式之一的对应的模式标签;并且编程该数据到该子部分和替代的子部分中的一个。根据本方面的实施例,该第一保存模式是每单元多比特(MBC)保存模式,且该第二保存模式是每单元单比特(SBC)保存模式,且该转换步骤响应于预定的标准而被执行。该预定的标准是MBC编程擦除极限值,并且该转换步骤包括将对应于该子部分的编程/擦除计数器与该MBC编程/擦除极限值相比较。该编程步骤包括:如果该编程/擦除计数器小于该预定的MBC编程/擦除极限值,则编程该数据到该子部分,并且如果该编程/擦除计数器是至少该预定的MBC编程/擦除极限值,则编程该数据到该替代的子部分。该编程步骤能够包括如果该数据被编程到该替代的子部分,则擦除该子部分,设置对应于该子部分的模式标签为指示该第二保存模式的状态,或复位该编程/擦除计数器。
在本方面的另一个实施例中,预定标准是数据的特定简档,其中该数据的特定简档包括一组数据文件类型。该编程步骤包括:如果该数据具有匹配该特定简档的简档,则编程该数据到该子部分;并且如果该简档不匹配该特定简档,则编程该数据到该替代的子部分。在又一个实施例中,该子部分包括块,其中该块具有预定数量的页面,或该子部分包括页面,且预定数量的页面被包括在块中。在另一个实施例中,该第一保存模式是每单元单比特(SBC)保存模式,且该第二保存模式是每单元多比特(MBC)保存模式,且该转换步骤包括:将对应于该子部分的SBC编程/擦除计数器与回收极限值相比较,并且如果该编程/擦除计数器小于该回收极限值,则检查对应于该子部分的锁定位的状态。该转换步骤进一步包括如果该锁定位的状态为假,则改变对应于该子部分的模式标签的状态。该转换步骤进一步包括:在模式标签位的状态被改变后,设置该锁定位为真。
在第三方面中,提供了一种多模式闪速存储器装置。该多模式闪速存储器装置包括具有闪速存储器单元的存储器阵列,该闪速存储器单元用于在SBC保存模式中保存每单元单比特(SBC)数据,并且用于在MBC保存模式中保存每单元多比特(MBC)数据。根据本方面的实施例,该存储器阵列的第一块保存SBC数据,且该存储器的第二块保存MBC数据,或该存储器阵列的块中的第一页面保存SBC数据,且该存储器阵列的该块中的第二页面保存MBC数据,其中该第一页面和该第二页面的每一个保存模式标签,该模式标签具有指示SBC数据或MBC数据的存在的逻辑状态。
在第四方面中,提供了一种用于在闪速存储器系统中每单元多比特(MBC)保存模式和每单元单比特(SBC)保存模式的一个中选择性地编程数据的方法。该方法包括接收数据;确定该数据的高可靠性级别或低可靠性级别;如果该数据被确定为高可靠性,则在SBC保存模式中编程该数据;如果该数据被确定为低可靠性,则在MBC保存模式中编程该数据。在本方面的实施例中,该在SBC保存模式中编程该数据的步骤包括编程该数据到闪速存储器装置的存储器阵列中的选择的SBC页面,并且设置对应于该选择的SBC页面的每一个的模式标签为第一状态。此外,该在MBC保存模式中编程该数据的步骤包括编程该数据到该闪速存储器装置的该存储器阵列中的选择的MBC页面,并且设置对应于该选择的MBC页面的每一个的模式标签为第二状态。
在第五方面中,提供了一种用于从具有每单元多比特(MBC)页面和(SBC)页面的闪速存储器系统读出数据的方法。该方法包括接收读出地址用于读出闪速存储器阵列的至少一个页面;如果对应于该至少一个页面的模式标签处于第一逻辑状态,则在该读出地址执行MBC读出操作;和如果对应于该至少一个页面的该模式标签处于第二逻辑状态,则在该读出地址执行SBC读出操作。该方法包括在接收该读出地址之前,用对应于该闪速存储器阵列的每个页面的模式标签初始化地址映射表。在本方面的实施例中,该初始化步骤包括上电该闪速存储器阵列,读出保存在该闪速存储器阵列的每个页面中的模式标签,和保存该模式标签连同对应于该闪速存储器阵列的每个页面的逻辑地址项。读出该模式标签包括:执行SBC读出操作用于读出该闪速存储器阵列的每个页面中的该模式标签。在另一个实施例中,该接收步骤包括:从闪速控制器发出外部读出命令到闪速存储器装置,响应于该读出地址和对应于该读出地址的模式标签位的逻辑状态,产生该外部读出命令。该执行MBC读出操作能够包括:在该闪速存储器装置内解码该外部读出命令,并发出内部MBC读出命令和内部SBC读出命令中的一个。
通过结合附图阅读本发明的具体实施例的下面的描述,所描述的实施例的其它方面和特征对于本领域的普通技术人员将变得清楚。
附图说明
现在将参考附图仅通过示例描述实施例,其中:图1是现有技术的闪速存储器装置的框图;图2是示出图1的闪速存储器装置的一个存储体的组织的示意图;图3是每单元单比特保存模式中的擦除存储器单元和编程存储器单元的阈值电压(Vt)分布图;图4是每单元多比特保存模式中的擦除存储器单元和编程存储器单元的阈值电压(Vt)分布图;图5是多点闪速存储器系统的框图;图6是串行配置的闪速存储器系统的框图;图7是用于延长多模式闪速存储器装置的生命期的方法的流程图;图8a和8b是在MBC保存模式和SBC保存模式之间转换的存储块的图解;图8c和8d是在MBC保存模式和SBC保存模式之间转换的页面的图解;图9是存储器阵列的一个页面的所分配的字段的示意图;图10是包括一个多模式闪速存储器装置的闪速存储器系统的框图;图11是操作图10的闪速存储器系统的方法的流程图;图12是初始化具有模式标签信息的地址映射表的方法的流程图;图13是延长多模式闪速存储器系统的生命期的方法的流程图;图14是用于用户可选择编程MBC和SBC保存模式的数据的方法的流程图;图15是将MBC保存模式子部分自动地转换为SBC保存模式子部分的方法的流程图;图16是回收SBC保存模式子部分的方法的流程图;和图17是从多模式闪速存储器装置读出数据的方法的流程图。
具体实施方式
总地,至少一些示例实施例提供用于延长闪速存储器装置的生命期的方法和系统。闪速存储器装置动态地可配置用来在每单元单比特(SBC)保存模式或每单元多比特(MBC)保存模式中保存数据,使得SBC数据和MBC数据共存在相同的存储器阵列中。这样的存储器装置称为多模式闪速存储器装置。保存在存储器的每个页面中的一个或多个标签位被用来指示在对应的存储器块中保存数据所使用的保存模式的类型。为了最大化多模式闪速存储器装置的生命期,控制器监控对应于每个页面的编程-擦除周期的数量,用于选择地改变保存模式
当前所描述的实施例可应用于诸如图1中所示的闪速存储器装置的单个MBC闪速存储器装置,和诸如图5和6所示的闪速存储器系统的MBC闪速存储器装置的系统。
图5是与主机系统102集成的闪速存储器系统100的框图。闪速存储器系统100包括与主机系统102通信的闪速存储器控制器104,和多个多模式闪速存储器装置106。主机系统102包括诸如微控制器、微处理器或计算机系统的处理装置。图5的闪速存储器系统100被配置以包括一个通道108,其中多模式闪速存储器装置106被并行耦合到通道108。本领域内的技术人员理解存储器系统100能够具有与其耦合的更多或更少的存储器装置。
通道108包括一组公共总线(未示出),其包括耦合到所有存储器装置106的数据和控制线。虽然未示出,但每个存储器装置由闪速存储器控制器104提供的相应的片选信号来启用/停止。闪速存储器控制器104负责基于主机系统102的操作经由通道108发出命令和数据到所选择的存储器装置106。从存储器装置读出的数据经由通道108传送回到闪速存储器控制器104和主机系统102。闪速存储器系统100总地称为多点配置,其中多模式闪速存储器装置106关于通道108并行耦合。本领域内的技术人员理解,闪速存储器控制器104能够具有多个通道,每个具有在多点配置中耦合的闪速存储器装置106。每个多模式闪速存储器装置106被实现为具有图2先前所示的体存储器组织的NAND闪速存储器装置。闪速存储器装置106能够具有相同的容量或不同的容量。
图6是具有串行耦合的存储器装置的闪速存储器系统的框图。闪速存储器系统120包括与主机系统124通信的闪速存储器控制器122,和四个串行耦合的多模式闪速存储器装置126。四个闪速存储器装置中的每个具有用于促进存储器装置之间的操作的输入/输出电路。这样的闪速存储器装置的示例在2005年12月30日提交的序号为11/354023的共同拥有的美国专利申请和2006年7月31日提交的序号为11/496278的共同拥有的美国专利申请中进行了描述,其内容通过引用包含于此。
根据实施例,多模式闪速存储器装置被缺省设置来在MBC保存模式中保存数据。每个多模式闪速存储器装置的生命期通过执行生命期延长方案而延长。图7是图示生命期延长方案的流程图。
第一步骤是单元转换200,典型地响应于编程指令而执行。监控以MBC保存模式配置的所有子部分的编程/擦除周期,并且自动地将达到所预定的极限值的任何子部分转换为SBC保存模式。子部分是最小的单元或可转换的单元的分组,诸如例如存储块或页面。这是由于达到所预定的极限值的任何MBC保存模式子部分将不再可靠地保存数据的事实,但是对于设置数量的编程/擦除周期它们能够用于在SBC保存模式中保存数据。如果不再保持其中保存的数据,单元转换算法也将子部分从SBC保存模式转换为MBC保存模式。
接下来在步骤202,根据所选择的保存模式来编程数据。存储体的所有子部分缺省地设置为在MBC保存模式中保存数据。但是,如果用户挑选保存要求较高保存可靠性的数据,则分配并设置至少所要求数量的子部分用于在SBC保存模式中保存数据文件。闪速存储器控制器(例如104或122)能够被配置以识别特定数据文件扩展名类型为要求较高保存可靠性的数据文件。例如,在WindowsTM操作系统平台中具有“.exe”的可执行应用程序将在SBC保存模式中保存,而具有“.avi”扩展名的视频数据文件不要求较高的保存可靠性。因此,以SBC保存模式配置的子部分将比以MBC保存模式配置的子部分具有更长的生命期。
使用生命期延长方案的上面所提及的步骤的任何一个将延长多模式闪速存储器装置的寿命。但是,当在多模式闪速存储器装置操作期间两个步骤都被使用时,获得最大生命期延长。
图8a和8b图形说明了存储器的子部分从MBC保存模式到SBC保存模式的转换,反之亦然,其中当前子部分是存储块。为了容易说明,图8a的多模式闪速存储器装置300包括4个存储块302,4个存储块中的每个包括4个页面304。假定存储器装置300将其所有块302都初始地设置为在MBC保存模式中保存数据,并且已经经受图7中先前所描述的用户或者自动单元转换算法。因此,通过示例,多模式闪速存储器装置300具有如图8a中所示的SBC和MBC页面的配置,其中阴影的块被设置为在SBC保存模式中保存数据,且非阴影块被设置为在MBC保存模式中保存数据。
图8b说明了页面304已经被转换之后的多模式闪速存储器装置300的映射。在第一示例中,已经确定包含页面306、308、310和312的MBC保存模式块已经达到所预定数量的编程/擦除周期。因此,它们被转换为SBC保存模式。对于块302中的每个页面304,监控编程/擦除周期,并且当至少一个页面达到预定的数量时,执行块转换。
在第二示例中,已经确定包含页面314、315、316和317的SBC保存模式块不再保存数据。这能够在其中的数据被擦除并且没有其它的数据被保存到其中时被确定。检查SBC页面314、315、316和317的SBC编程/擦除周期的数量,并且因为它们相应的SBC编程/擦除周期的至少一个已经达到预定的极限值,整个块被转换回到MBC保存模式。关于MBC到SBC保存模式和SBC到MBC保存模式转换的特定细节将在后面讨论。
图8a和8b说明了基于块转换的在SBC保存模式和MBC保存模式之间的子部分。图8c和8d说明了基于页面转换的在SBC保存模式和MBC保存模式之间的子部分。如图8c中所示,页面318和320被设置为在MBC保存模式中保存数据,并且页面322和324被设置为在SBC保存模式中保存数据。在第一示例中,通过监控编程/擦除周期确定页面318和320二者都已经达到预定的MBC编程/擦除周期极限值。因此执行到SBC保存模式的各自的页面转换。在第二示例中,通过监控编程/擦除周期确定页面322和324二者都已经达到所预定的极限值。因此执行到MBC保存模式的各自的页面转换。
存储器装置300中的任意块302的保存模式的确定通过检查保存在页面304的其中一个的模式标签(至少一位)来获得。这允许存储器装置300对选择的块302执行正确的编程和读出操作。图9是页面304的示意图,具体示出了其所分配的字段。页面304包括用户数据字段350和备用数据字段352。用户数据字段350保存从用户接收的数据,而备用数据字段352被保留以供闪存装置或闪速存储器控制器使用。在本示例中,用户数据字段350的大小为2KB,而备用数据字段352的大小为64B。在备用数据字段350中,一个或多个位被指定作为保存模式标签354,且多个位被指定作为编程/擦除周期计数器356,用于记录在页面上执行的MBC编程/擦除周期的数量。
包括SBC计数器358来记录在页面上所执行的SBC编程/擦除周期的总数量,以支持SBC到MBC和随后的MBC到SBC的转换。一个示例应用是使用SBC保存模式以高速编程数据,并且然后转换为MBC保存模式,以在空闲时间期间提高存储器容量。能够提供可选的锁定位360用于防止SBC保存模式页面被转换为MBC保存模式。此特征的进一步细节将在下面讨论。虽然存储块302将包括任意数量的页面304,但任意一个或多个页面304能够被选择用于保存对应于存储块302的标签位、SBC计数器数值、MBC计数器数值和可选的锁定位。
多模式闪速存储器装置300使用模式标签354以确定使用特定的读出、编程和擦除算法。如先前所讨论的,对于以SBC和MBC保存模式保存的数据,涉及具体电压电平的设置和控制信号的时序的读出和编程算法是不同的。这样的区别对于本领域内的技术人员是公知的。更具体地,如果被读出或编程的子部分(诸如块)将其对应的模式标签354设置为特定的逻辑状态,则闪速装置执行MBC保存模式算法。否则,闪速装置将执行SBC保存模式算法。由多模式闪速存储器装置的命令解码器和逻辑电路来管理专用于SBC和MBC保存模式的算法的执行。
在一些实施例中,多模式闪速存储器装置将包括执行专用于SBC和MBC保存模式二者的操作所要求的所有电路和控制逻辑。注意到,MBC闪速存储器装置典型地包括SBC闪速存储器装置所使用的所有电路。专用的MBC和SBC闪速存储器装置之间的主要区别是用于执行算法的控制电路和逻辑电路。
图10是包括一个多模式闪速存储器装置的闪速存储器系统的框图。闪速存储器系统400包括闪速存储器控制器402和多模式闪速存储器装置404。虽然为了说明方便仅示出了一个装置404,但系统400能够包括耦合到同一通道的任意数量的装置404,而且系统400能够包括任意数量的通道。现在将描述闪速存储器控制器402和多模式闪速存储器装置404的细节。
闪速存储器控制器402的典型的部件是到逻辑到物理的地址翻译器406,其负责将由主机系统提供的每个逻辑地址映射到多模式闪速存储器装置中的对应的物理地址。如本领域内的技术人员理解的,使用地址映射以确保:如果数据移动或重新编程以实现损耗均匀操作,则数据的逻辑地址一直指向存储器阵列中的其实际物理位置。翻译器也通常被实现为地址映射表。根据本实施例,获得多模式闪速存储器装置404的每个子部分的每个模式标签(MODE)并且将其与其对应的逻辑地址项一起保存在映射表中。如果子部分是块,则保存对于对应于块的逻辑地址的相应的模式标签。替代地,如果子部分是页面,则获得并保存每个页面的模式标签。因此,闪速存储器控制器402将发出外部命令(CMD),该外部命令具有关于与选择的地址相关联的保存模式的类型的信息。
图10中所示的多模式闪速存储器装置404包括多模式控制电路405、闪速存储器电路412和存储器阵列414,其中多模式控制电路405包括命令解码器408和控制逻辑410。为了清楚,已经简化了闪速存储器电路412和存储器阵列414,但是本领域内的技术人员应该理解这些电路块包括所有必要的部件以确保多模式闪速存储器装置404的正确的操作。命令解码器408接收由闪速存储器控制器402发出的外部命令CMD,解码该命令,并发出对应的内部控制命令到控制逻辑410。本领域内的技术人员理解外部命令CMD将包括诸如被执行的操作的类型、被编程的用户数据、和数据将被写入或数据将从其读出的地址的信息。控制逻辑410是具有用于执行所有标准的SBC和MBC读出和编程操作的逻辑的状态机,包括诸如编程验证操作的任何补充性操作。控制逻辑410还包括用于执行对于多模式闪速存储器装置是唯一的逻辑功能的逻辑电路,如将在后面描述的那样。
命令解码器408包括MBC命令解码器416、SBC命令解码器418和公共命令解码器420。MBC命令解码器416发出MBC保存模式特定命令,诸如MBC读出命令RD_MBC和MBC编程命令PGM_MBC。SBC命令解码器418发出SBC保存模式特定命令,诸如SBC读出命令RD_SBC和SBC编程命令PGM_SBC。公共解码器420发出不是专用于对于SBC或者MBC保存模式配置的存储器子部分的命令,诸如擦除命令。三个子命令解码器416、418和420被示为独立的电路块以说明由命令解码器408所发出的命令的类型的分类,并且不必要表示用于产生命令的特定的电路或逻辑分组。
现在参考图11的流程图描述闪速存储器系统400的总的操作。在执行所说明的操作方法的步骤之前,假定模式标签信息已经被装载入地址翻译器406。现在在步骤450,接收主机请求,其能够包括例如读取或写请求。该请求将包括用于将数据写入多模式闪速存储器装置404的逻辑地址或用于从多模式闪速存储器装置404读出数据的逻辑地址。在步骤452,闪速存储器控制器402查找地址映射表,并且基于所请求的逻辑地址和地址映射表中的对应的模式标签的状态,产生具有关于所要求的保存模式操作(SBC对MBC保存模式)的必需类型的指示的合适的命令CMD。在步骤454,解码由命令解码器408所接收的CMD命令,由MBC命令解码器416或SBC命令解码器418发出SBC保存模式或MBC保存模式读出/编程命令。当然,CMD命令能够是由公共命令解码器420发出的诸如擦除操作的非保存模式专用的命令。在步骤456,控制逻辑410执行所要求的算法,并且以合适的方式控制必要的多模式闪速存储器电路412。
在由多模式闪速存储器装置404执行任何操作之前,用模式标签初始化闪速存储器控制器402的地址映射表。这优选在不存在被执行的用户操作时的时间期间完成,诸如闪速存储器系统400的上电期间。图12是图解说明用于初始化地址映射表的方法的流程图。在步骤500,上电闪速存储器系统400。然后在步骤502,闪速存储器装置404扫描其存储器阵列以评估其所有标签位的逻辑状态。这是通过执行闪速存储器装置404中的所有页面的读出操作,并且仅提供模式标签信息(MODE)给闪速存储器控制器402来完成。如果数据的整个页面被同时读出,则仅使用标签位并且忽略从页面所读出的剩余数据。然后,在步骤504,用MODE标签数据填充地址映射表。
为了最大化速度并且简化模式标签读出的过程,使用SBC保存模式读出算法来读出所有页面。更具体地,SBC读出算法检测标签位的擦除状态的存在或不存在。能够使用两个二进制逻辑状态来确定子部分(即,例如块或页面)的SBC或MBC保存模式配置。优选地,闪速存储器装置将在制造/测试期间被预编程,以将其所有模式标签位设置为一个指示数据将在MBC保存模式中被编程的逻辑状态(擦除状态)。在标准操作期间,闪速存储器装置402将经受编程和擦除操作,由此最后作为存储器的页面或块的至少一个子部分改变其模式标签。
图13是说明用于通过自动地改变模式标签的状态来延长多模式闪速存储器装置400的生命期的方法的流程图。该方法概述在改变模式标签之前的特定准则或条件。该方法开始于步骤550,其中数据被编程到多模式闪速存储器装置。假定在多模式闪速存储器装置的存储器阵列中存在SBC保存模式子部分和MBC保存模式子部分的混合。因此,在步骤550,将执行SBC或MBC编程操作。
在步骤552,在编程/擦除周期之后,监控对于存储器阵列的每个子部分的编程周期的数量。替代地,能够恰好在编程/擦除周期之前进行监控。注意到,在某些方面擦除操作是在对于存储器的子部分的每一次编程操作之前进行,因此擦除周期或编程周期的数量大体相同。地址映射表能够包括对于每个子部分的编程/擦除计数器,其初始由保存在页面的备用数据字段(352)的对应的计数器数值来填充。计数器数值能够在系统上电期间被载入并且当数据被编程时被编程回到页面。步骤552中的监控包括将用于当前编程的子部分的编程/擦除计数器与预定的极限值相比较。基于保存模式,存在所使用的两个预定的极限值。一个极限值是SBC保存模式极限值,而另一个是MBC保存模式极限值。例如,MBC保存模式子部分将具有10000次的编程/擦除周期的极限值,并且SBC保存模式子部分将具有100000次的编程/擦除周期的极限值。在编程操作已经完成之前或之后,执行比较。然后,如果达到可应用的预定的极限值,则采取三个可能动作的其中一个。
第一个可能的动作是:在步骤554,通过将MBC保存模式子部分转换为SBC保存模式来延长MBC保存模式子部分的生命期。因此,当前保存在将被转换的MBC保存模式子部分中的任意数据被移动或者被编程到可用的MBC保存模式子部分。然后,在步骤556,改变在地址映射表中对应的模式标签位以指示该子部分被设置为SBC保存模式。当数据被编程到页面时,编程页面的标签位字段。
第二个可能的动作是:在步骤558,通过将SBC保存模式子部分转换为MBC保存模式来回收SBC保存模式子部分。这是与步骤554中讨论的过程相反的过程。在两个条件下进行回收,一个是SBC编程/擦除周期的数量低于小于标准SBC极限值的预定数值,其中标准SBC极限值能够是100000个周期。这是由于被编程接近100000个周期的SBC存储器单元将退化到它们将不能在MBC保存模式中可靠地保存数据的点的事实。因此,使用减小的SBC到MBC的回收极限值。选择该减小的极限值以使得子部分将可靠地持续10000个编程/擦除周期的标准MBC极限值。在一个实施例中,减小的SBC到MBC的回收极限值对应于MBC极限值。例如,如果MBC极限值是10000个周期,假定SBC存储器单元已经持续10000个SBC编程/擦除周期或更少,则SBC存储器单元能够被转换为MBC保存模式。第二个条件是保存在SBC子部分中的数据不再使用,即数据已经被擦除且不被重新编程到同一个子部分。当子部分被擦除时,更新地址映射表以指示该子部分为空闲的。一旦满足这两个条件,在步骤556中,改变地址映射表中的模式标签状态。因此,回收这样的SBC子部分用于高密度保存是有利的。
第三个可能的动作是:当SBC子部分已经达到其SBC编程/擦除周期极限值,则在步骤560,报废该SBC子部分。在此情形下,该子部分被简单地标出并且不再被闪速存储器系统使用。不可用的子部分的标出是闪速存储器系统中公知的操作。但是,在此时间点,子部分将已经在MBC和SBC保存模式二者中保存数据,由此最大化子部分的生命期。
先前所描述的实施例假设多模式闪速存储器将其所有子部分缺省配置为在MBC保存模式中保存数据。但是,任意MBC保存模式子部分能够由主机系统转换为SBC保存模式。图14是说明用于MBC和SBC保存模式数据的主机系统可选择编程的方法的流程图。此方法能够作为图13的生命期延长方法中的步骤550的子程序来执行。开始于步骤600,闪速存储器控制器接收来自主机的编程指令并识别被编程的数据的类型。例如,数据的类型能够是诸如JPEG的图像文件、诸如电子表格或文本文档的各种应用数据文件、和可执行程序。由于每个文件将具有特定的扩展名,闪速存储器控制器将识别特定的数据类型。然后,在步骤602,闪速存储器控制器确定数据文件是否要求高可靠性。这能够例如通过检查包括被认为要求高可靠性的所有数据类型的表来完成。例如,可执行程序能够被认为要求高可靠性。注意到,主机系统能够预选择要求高可靠性的数据类型。
如果在表格中没有出现该数据类型,则方法进行到步骤604,多模式闪速存储器装置在MBC保存模式中编程数据。更具体地,闪速存储器控制器从其地址映射表中识别将模式标签设置为MBC保存模式的空闲的子部分,并发出合适的MBC编程命令到多模式闪速存储器装置。当接收到该命令,多模式闪速存储器装置将以图10中先前所描述的方式进行内部编程操作。在步骤606,一旦内部编程验证已经确定数据已经被成功地编程,就增加对应于选择的页面的地址映射表中的编程/擦除计数器。
返回步骤602,如果该数据类型出现在表格中,则方法进行到步骤608,其中闪速存储器控制器检查是否存在可用的空闲SBC保存模式子部分。如果空闲的SBC保存模式子部分可用,则在步骤610,指示多模式闪速存储器装置在SBC保存模式中编程数据到对应的物理位置。否则,在步骤612通过将必要的MBC保存模式子部分的模式标签的状态反转,将该必要的MBC保存模式子部分转换为SBC保存模式。然后执行步骤610用于在SBC保存模式中编程数据。在步骤610的SBC保存模式编程之后,在步骤606,增加对应的编程/擦除计数器。因此,用户在多模式闪速存储器装置中选择性地在MBC或SBC保存模式中编程数据。
先前所讨论的方法将数据文件类型分类为高或低可靠性类型。在替代的实施例中,数据文件类型能够被分类为不同的可靠性级别。然后主机系统能够设置阈值用于确定哪些可靠性级别被分类为高可靠性数据。
如先前所讨论的,闪速存储器系统能够自动地执行生命期延长算法。图15是说明用于将MBC保存模式子部分自动地转换为SBC保存模式子部分的一种方法的流程图。在步骤650,闪速存储器控制器首先接收编程指令。例如,编程指令将修改保存在多模式闪速存储器装置的相同的子部分中的现存的文件。在步骤652,用于选择的子部分的编程/擦除计数器与MBC保存模式的预定的周期极限值相比较。如果计数器值小于该极限值,则在步骤654,数据被简单地编程到多模式闪速存储器装置中的相同的子部分。否则,在步骤656,已经达到极限值并且数据被编程到新的子部分。然后,在步骤658,擦除初始的子部分以清除数据。最后,在步骤658,将地址映射表中初始子部分的模式标签的状态反转,由此,将它们指定为SBC保存模式子部分。由于在子部分期满并且不再使用之前存在能够执行的预定数量的SBC编程/擦除周期,所以在步骤662,转换为SBC保存模式的子部分将将其编程/擦除计数器复位。
替代的所修改的顺序是编程数据、增加计数器且随后将编程/擦除计数器与预定周期极限值相比较。如果计数器数值小于该周期极限值,则不采取进一步的动作。否则,将最近编程的数据移动或重新编程到可用的MBC保存模式子部分。在系统空闲的任何时候能够进行该重新编程。然后,擦除初始的子部分并且将模式标签位反转。
用于编程数据到SBC保存模式子部分的步骤大体上与图15中所示的相同。MBC编程/擦除极限值由SBC编程/擦除极限值代替,并且如果SBC子部分编程/擦除计数器等于SBC编程/擦除极限值,则SBC保存模式子部分被简单地报废以不再使用。然后SBC数据被编程到可用的SBC保存模式子部分。如果仅MBC保存模式子部分可用,则执行图14的方法,以将所需要的MBC保存模式子部分转换为SBC保存模式,并且编程数据。
在上面提及的实施例中,能够使用一个计数器来记录MBC编程/擦除周期,并且当转换为SBC保存模式时,被再次使用来记录SBC编程/擦除周期。根据可选实施例,如果能够回收SBC子部分,则提供分开的SBC和MBC编程/擦除计数器。
图16的方法概述了用于回收SBC保存模式子部分的步骤。此方法能够在闪速存储器系统运行的任何时间执行。该方法开始于步骤700,识别每个空(即没有用于保存任何数据)的SBC保存模式子部分。在步骤702,将SBC编程/擦除计数器与MBC回收极限值相比较。如果计数器至少是该回收极限值,则在步骤704结束过程,并且SBC保存模式子部分将不转换为MBC保存模式。另一方面,如果SBC编程/擦除计数器小于该回收极限值,则在步骤706检查锁定位的状态。被设置为有效状态的锁定位指示通过图14的自动转换方法已经事先将当前的SBC子部分从MBC保存模式转换为SBC保存模式。换句话说,如果SBC保存模式子部分已经用尽了其MBC编程/擦除周期,则没有理由从SBC保存模式回收它来进一步用作MBC保存模式子部分。如果没有设置锁定位,则在步骤708,改变其对应的模式标签的状态。在步骤710,设置锁定位以防止曾经被转换回到SBC保存模式的该子部分的进一步的回收。
先前所讨论的方法呈现了用于在多模式闪速存储器装置中编程数据,和用于在编程操作期间延长多模式闪速存储器装置的生命期的技术。在这些操作中,模式标签被用于确定数据是以MBC保存模式还是SBC保存模式被编程,并且用于执行模式之间的自动转换。一旦被编程,则模式标签用于确定被执行的读出操作的类型。图17是概括用于从多模式闪速存储器装置读出数据的方法的流程图。
开始于步骤750,闪速存储器控制器接收读出指令。该读出指令将包括期望数据的逻辑地址。然后,在步骤752,对于对应于该逻辑地址的模式标签状态位的状态,闪速存储器控制器检查其地址映射表。如果模式标签的状态是第一状态,例如逻辑“1”,则产生MBC保存模式读出命令CMD,并且将其提供给多模式闪速存储器装置。作为响应,在步骤754,多模式闪速存储器装置将解码该命令,并发出RD_MBC命令。然后在步骤756执行MBC读出。否则,在步骤758,多模式闪速存储器装置发出RD_SBC命令,并且然后在步骤760执行SBC读出。不考虑读出命令的具体类型,数据将从存储器阵列读出并且被提供回到闪速存储器控制器。因此,用户能够从相同的多模式闪速存储器装置存取在SBC和MBC保存模式中编程的数据。
在所有先前所讨论的实施例中,对于用户透明地进行由闪速存储器控制器和多模式闪速存储器装置执行的选择性的MBC或SBC过程。由于SBC/MBC保存模式操作的所有决定由闪速存储器控制器来完成,所以不存在用户所要求的附加的指令或指令的修改。因此,存在实施具有主机系统的先前所描述的闪速存储器系统所要求的最小开销。
因此,多模式闪速存储器装置的先前所描述的实施例能够被控制以便选择性地以SBC保存模式或MBC保存模式来编程数据,使得在两个保存模式中编程的数据同时共存在相同的存储器阵列中。能够在基于被编程的数据的类型的用户控制下完成选择性的编程和/或通过预设算法自动地完成选择性的编程。通过以这两种类型的保存模式来保存数据,多模式闪速存储器装置的生命期相对于专用于仅在MBC保存模式中保存数据的闪速存储器装置被延长了。先前所描述的实施例中所称的子部分能够是存储体、存储块或页面。
在之前的描述中,用于解释目的,阐明了多个细节,以提供实施例的全面的理解。但是本领域的技术人员都清楚,这些具体的细节不是为了实现实施例所必须的。在其它实例中,公知的电子结构和电路以框图形式示出,以不使实施例的方面变得模糊。例如,没有提供关于此处所描述的实施例是以软件程序、硬件电路、固件或其组合来实现的具体细节。
上面所描述的实施例仅意欲示例。本领域的技术人员在不脱离由后附的权利要求书所单独限定的范围的情况下能够对特定实施例进行改变、修改和变化。

Claims (58)

1.一种闪速存储器装置,包括:
具有存储器块的NAND闪速存储器阵列,所述存储器块包括第一页面,用于保存每单元多比特数据;
命令解码器,用于响应于外部编程命令以发出每单元多比特编程命令和每单元单比特编程命令的一个;
控制逻辑电路,用于响应于所述每单元多比特编程命令或所述每单元单比特编程命令来执行编程算法;和
闪速存储器电路,用于响应于所述编程算法来编程所述NAND闪速存储器阵列的所述存储器块中的第二页面以保存每单元单比特数据。
2.根据权利要求1所述的闪速存储器装置,其中所述命令解码器包括用于发出所述每单元单比特编程命令的每单元单比特命令解码器,和用于发出所述每单元多比特编程命令的每单元多比特命令解码器。
3.根据权利要求1所述的闪速存储器装置,其中所述存储器阵列包括被配置用于响应于所述每单元多比特编程命令在每单元多比特保存模式中保存数据的第一子部分,和被配置用于响应于所述每单元单比特编程命令在每单元单比特保存模式中保存数据的第二子部分。
4.根据权利要求3所述的闪速存储器装置,其中每个子部分与用于指定所述每单元多比特保存模式或所述每单元单比特保存模式的模式标签相关联。
5.一种用于在NAND闪速存储器装置中保存数据的方法,包括:
a)为所述NAND闪速存储器装置上电,以使至少一个子部分配置为第一保存模式或第二保存模式,其中所述第一保存模式为每单元多比特保存模式和每单元单比特保存模式之一,并且所述第二保存模式为每单元多比特保存模式和每单元单比特保存模式中的另一个;
b)在上电所述NAND闪速存储器装置之后,响应于命令执行内部闪速操作;
c)响应于所述命令的特定命令将所述至少一个子部分从第一保存模式转换为第二保存模式;和
d)响应于所述特定命令,编程所述数据到以所述第一保存模式配置的第一子部分或以所述第二保存模式配置的第二子部分。
6.根据权利要求5所述的方法,其中所述第一保存模式是每单元多比特保存模式,且所述第二保存模式是每单元单比特保存模式。
7.根据权利要求6所述的方法,其中响应于预定的准则来执行所述转换的步骤。
8.根据权利要求7所述的方法,其中所述预定的准则是每单元多比特编程擦除极限值。
9.根据权利要求8所述的方法,其中所述转换步骤包括:将对应于所述第一子部分的编程/擦除计数器与所述每单元多比特编程/擦除极限值相比较。
10.根据权利要求9所述的方法,其中所述编程步骤包括:如果所述编程/擦除计数器小于所述预定的每单元多比特编程/擦除极限值,则编程所述数据到所述第一子部分,并且如果所述编程/擦除计数器至少是所述预定的每单元多比特编程/擦除极限值,则编程所述数据到所述第二子部分。
11.根据权利要求10所述的方法,其中所述编程步骤进一步包括:如果所述数据被编程到所述第二子部分,则擦除所述第一子部分。
12.根据权利要求10所述的方法,其中所述编程步骤进一步包括:设置对应于所述第一子部分的模式标签为指示所述第二保存模式的状态。
13.根据权利要求10所述的方法,其中所述编程步骤进一步包括:复位所述编程/擦除计数器。
14.根据权利要求7所述的方法,其中所述预定准则是所述数据的特定简档。
15.根据权利要求14所述的方法,其中所述数据的所述特定简档包括一组数据文件类型。
16.根据权利要求15所述的方法,其中所述编程步骤包括:如果所述数据具有匹配所述特定简档的简档,则编程所述数据到所述第一子部分;并且如果所述简档不匹配所述特定简档,则编程所述数据到所述第二子部分。
17.根据权利要求5所述的方法,其中所述第一子部分包括块,所述块具有预定数量的页面。
18.根据权利要求5所述的方法,其中所述第一子部分包括页面,且预定数量的页面包括在块中。
19.根据权利要求5所述的方法,其中所述第一保存模式是每单元单比特保存模式,且所述第二保存模式是每单元多比特保存模式。
20.根据权利要求19所述的方法,其中所述转换步骤包括:将对应于所述第一子部分的每单元单比特编程/擦除计数器与回收极限值相比较,并且如果所述编程/擦除计数器小于所述回收极限值,则检查对应于所述第一子部分的锁定位的状态。
21.根据权利要求20所述的方法,其中所述转换步骤进一步包括:如果所述锁定位的状态为假,则改变对应于所述第一子部分的模式标签的状态。
22.根据权利要求21所述的方法,其中所述转换步骤进一步包括:在所述模式标签的状态被改变之后,设置所述锁定位为真。
23.一种用于在NAND闪速存储器装置中以每单元多比特保存模式和每单元单比特保存模式中的其中一个选择性地编程数据的方法,包括:
a)接收数据;
b)确定所述数据的高可靠性级别或低可靠性级别;
c)如果所述数据被确定为高可靠性,则在所述每单元单比特保存模式中编程所述数据到每单元单比特子部分;
d)如果所述数据被确定为低可靠性,则在所述每单元多比特保存模式中编程所述数据到每单元多比特子部分;和
e)转换任意数量的所述每单元多比特子部分为所述每单元单比特保存模式,或者任意数量的所述每单元单比特子部分为所述每单元多比特保存模式。
24.根据权利要求23所述的用于选择性地编程数据的方法,其中所述转换的步骤包括:编程识别所述每单元单比特子部分和所述每单元多比特子部分的保存模式数据到所述NAND闪速存储器装置。
25.根据权利要求24所述的用于选择性地编程数据的方法,进一步包括:防止每单元单比特子部分到所述每单元多比特保存模式的转换。
26.根据权利要求25所述的用于选择性地编程数据的方法,其中防止转换包括:编程锁定数据,用于防止所述保存模式数据的编程。
27.一种闪速存储器装置,包括:
NAND闪速存储器阵列,具有以第一保存模式保存数据的第一存储器块和以第二保存模式保存数据的第二存储器块,其中所述第一保存模式为每单元多比特保存模式和每单元单比特保存模式之一,并且所述第二保存模式为每单元多比特保存模式和每单元单比特保存模式中的另一个;和
控制逻辑电路,用于响应编程指令执行转换算法以将所述第二存储器块转换为以所述第一保存模式保存数据。
28.根据权利要求27所述的闪速存储器装置,进一步包括闪速存储器电路,用于编程保存在所述第二存储器块中的数据到以所述第一保存模式保存数据的至少一个其他存储器块。
29.根据权利要求28所述的闪速存储器装置,其中所述第一保存模式是每单元单比特保存模式,所述第二保存模式是每单元多比特保存模式。
30.根据权利要求28所述的闪速存储器装置,其中所述第一保存模式是每单元多比特保存模式,所述第二保存模式是每单元单比特保存模式。
31.根据权利要求27所述的闪速存储器装置,其中所述第二存储器块保存具有对应于所述第二保存模式的逻辑电平的模式标签位。
32.根据权利要求31所述的闪速存储器装置,进一步包括闪速存储器电路,用于以所述第一保存模式编程数据到所述第二存储器块,并且用于以对应于所述第一保存模式的逻辑电平编程所述模式标签位。
33.一种用于在NAND闪速存储器装置的子部分中编程数据的方法,所述方法包括:
以第一保存模式编程所述数据到所述子部分;
监控所述子部分的编程/擦除周期;和
如果所述子部分的所述编程/擦除周期达到预定的极限值,则将所述子部分转换为第二保存模式,
其中所述第一保存模式为每单元多比特保存模式和每单元单比特保存模式之一,并且所述第二保存模式为每单元多比特保存模式和每单元单比特保存模式中的另一个。
34.根据权利要求33所述的方法,其中所述子部分是第一子部分,所述转换的步骤包括以所述第一保存模式编程保存在所述第一子部分中的所述数据到第二子部分。
35.根据权利要求34所述的方法,其中所述转换进一步包括改变对应于所述第一子部分的保存模式数据,用于识别所述第一子部分的所述第二保存模式。
36.根据权利要求35所述的方法,其中所述保存模式数据包括保存在地址映射表中的模式标签位,用于识别所述子部分的所述第二保存模式。
37.根据权利要求35所述的方法,其中所述改变的步骤包括编程所述第一子部分的标签位字段中的位,用于识别所述第一子部分的所述第二保存模式。
38.根据权利要求33所述的方法,其中所述第一保存模式是每单元多比特保存模式,所述第二保存模式是每单元单比特保存模式。
39.根据权利要求33所述的方法,其中所述第一保存模式是每单元单比特保存模式,所述第二保存模式是每单元多比特保存模式。
40.根据权利要求33所述的方法,其中所述子部分包括存储器块。
41.根据权利要求33所述的方法,其中所述子部分包括存储器块的页面。
42.根据权利要求33所述的方法,其中所述编程包括:当所述数据被编程到所述子部分,增加对应于所述子部分的所述编程/擦除周期的计数器。
43.根据权利要求33所述的方法,其中在所述转换的步骤之后,复位对应于所述子部分的所述编程/擦除周期的计数器。
44.一种闪速存储器装置,包括:
闪速存储器阵列;
命令解码器,用于当解码包括在外部编程命令中的信息时,发出每单元多比特编程命令或每单元单比特编程命令;
控制逻辑电路,用于响应于所述每单元多比特编程命令或所述每单元单比特编程命令来执行编程算法;和
闪速存储器电路,用于响应于所述编程算法,来编程所述闪速存储器阵列的第一块中的第一存储器单元以保存每单元多比特数据或者所述闪速存储器阵列的第二块中的第二存储器单元以保存每单元单比特数据。
45.根据权利要求44所述的闪速存储器装置,其中所述外部编程命令包括关于所述命令解码器是否应该发出所述每单元多比特编程命令或所述每单元单比特编程命令的指令。
46.根据权利要求44所述的闪速存储器装置,其中所述命令解码器包括用于发出所述每单元单比特编程命令的每单元单比特命令解码器和用于发出所述每单元多比特编程命令的每单元多比特命令解码器。
47.根据权利要求44所述的闪速存储器装置,其中所述第一块是被配置用于以每单元多比特保存模式保存数据的第一子部分中的一个,所述第二块是被配置用于仅以SBC保存模式保存数据的第二子部分中的一个。
48.根据权利要求47所述的闪速存储器装置,其中所述第一块和所述第二块与用于指定所述每单元多比特保存模式或所述每单元单比特保存模式的装置相关联。
49.根据权利要求47所述的闪速存储器装置,其中所述第一块包括被配置用于以所述每单元多比特保存模式保存数据的第一存储器页面和被配置用于以所述每单元单比特保存模式保存数据的第二存储器页面。
50.根据权利要求47至49中任一项所述的闪速存储器装置,其中所述闪速存储器阵列包括多个第三存储器单元,用于保存信息以识别所述闪速存储器阵列的哪些部分对应于所述第一子部分而不是所述第二子部分。
51.根据权利要求47至49中任一项所述的闪速存储器装置,进一步包括用于保存信息以识别所述闪速存储器阵列的哪些部分对应于所述第一子部分而不是所述第二子部分的装置,其中所保存的信息能够在所述闪速存储器装置的操作期间被改变。
52.一种用于在闪速存储器系统中以每单元多比特保存模式和每单元单比特保存模式中的其中一个选择性地编程数据的方法,所述方法包括:
a)接收数据;
b)确定所述数据的高可靠性级别或低可靠性级别;
c)如果所述数据被确定为高可靠性,则在闪速存储器装置的闪速存储器阵列的第一块中以所述每单元单比特保存模式编程所述数据;和
d)如果所述数据被确定为低可靠性,则在所述闪速存储器装置的所述闪速存储器阵列的第二块中以所述每单元多比特保存模式编程所述数据。
53.根据权利要求52所述的选择性地编程数据的方法,其中所述闪速存储器系统的闪速控制器给所述闪速存储器装置提供信息,当所述信息被解码时,所述闪速存储器装置发出每单元多比特编程命令或者每单元单比特编程命令。
54.根据权利要求52所述的选择性地编程数据的方法,其中所述确定的步骤包括:由闪速控制器指示所述闪速存储器装置在所述闪速存储器装置内发出每单元多比特编程命令或者每单元单比特编程命令。
55.根据权利要求52至54中任一项所述的选择性地编程数据的方法,包括:在所述闪速存储器系统上电期间,利用信息来初始化地址映射表,所述信息如果以所述每单元多比特保存模式保存,则识别所述数据可被保存在所述闪速存储器阵列中的哪里;以及如果以所述每单元单比特保存模式保存,则识别所述数据可被保存在所述闪速存储器中的哪里。
56.根据权利要求55所述的选择性地编程数据的方法,其中所述初始化包括从所述闪速存储器装置获得所述信息。
57.根据权利要求56所述的选择性地编程数据的方法,其中所述信息从所述闪速存储器阵列的存储器单元来获得。
58.根据权利要求52所述的选择性地编程数据的方法,其中所述闪速存储器系统的闪速控制器包括表,并且用于以所述每单元单比特保存模式或所述每单元多比特保存模式来编程所述数据的指令基于所述表中的项目来产生。
CN200880005252.6A 2007-02-16 2008-02-14 具有动态多模式操作的非易失性存储器 Active CN101617372B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US89025207P 2007-02-16 2007-02-16
US60/890,252 2007-02-16
US11/829,410 2007-07-27
US11/829,410 US7646636B2 (en) 2007-02-16 2007-07-27 Non-volatile memory with dynamic multi-mode operation
PCT/CA2008/000285 WO2008098363A1 (en) 2007-02-16 2008-02-14 Non-volatile memory with dynamic multi-mode operation

Publications (2)

Publication Number Publication Date
CN101617372A CN101617372A (zh) 2009-12-30
CN101617372B true CN101617372B (zh) 2014-03-26

Family

ID=39689589

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880005252.6A Active CN101617372B (zh) 2007-02-16 2008-02-14 具有动态多模式操作的非易失性存储器

Country Status (9)

Country Link
US (5) US7646636B2 (zh)
EP (2) EP2490224A3 (zh)
JP (3) JP5421127B2 (zh)
KR (6) KR100938334B1 (zh)
CN (1) CN101617372B (zh)
CA (1) CA2675565C (zh)
ES (1) ES2477493T3 (zh)
TW (1) TWI449049B (zh)
WO (1) WO2008098363A1 (zh)

Families Citing this family (128)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090193184A1 (en) * 2003-12-02 2009-07-30 Super Talent Electronics Inc. Hybrid 2-Level Mapping Tables for Hybrid Block- and Page-Mode Flash-Memory System
US7852654B2 (en) * 2006-12-28 2010-12-14 Hynix Semiconductor Inc. Semiconductor memory device, and multi-chip package and method of operating the same
US7646636B2 (en) * 2007-02-16 2010-01-12 Mosaid Technologies Incorporated Non-volatile memory with dynamic multi-mode operation
TWI368224B (en) * 2007-03-19 2012-07-11 A Data Technology Co Ltd Wear-leveling management and file distribution management of hybrid density memory
US7460398B1 (en) * 2007-06-19 2008-12-02 Micron Technology, Inc. Programming a memory with varying bits per cell
KR101379820B1 (ko) * 2007-10-17 2014-04-01 삼성전자주식회사 멀티-비트 프로그래밍 장치와 메모리 데이터 검출 장치
US8001316B2 (en) * 2007-12-27 2011-08-16 Sandisk Il Ltd. Controller for one type of NAND flash memory for emulating another type of NAND flash memory
US7949851B2 (en) * 2007-12-28 2011-05-24 Spansion Llc Translation management of logical block addresses and physical block addresses
US9477587B2 (en) * 2008-04-11 2016-10-25 Micron Technology, Inc. Method and apparatus for a volume management system in a non-volatile memory device
US8464021B2 (en) * 2008-05-28 2013-06-11 Spansion Llc Address caching stored translation
US20100017556A1 (en) * 2008-07-19 2010-01-21 Nanostar Corporationm U.S.A. Non-volatile memory storage system with two-stage controller architecture
US20100017649A1 (en) * 2008-07-19 2010-01-21 Nanostar Corporation Data storage system with wear-leveling algorithm
KR20100010355A (ko) * 2008-07-22 2010-02-01 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 및 소거 방법
CN101673245B (zh) 2008-09-09 2016-02-03 株式会社东芝 包括存储器管理装置的信息处理装置和存储器管理方法
US8145855B2 (en) 2008-09-12 2012-03-27 Sandisk Technologies Inc. Built in on-chip data scrambler for non-volatile memory
US8429330B2 (en) * 2008-09-12 2013-04-23 Sandisk Technologies Inc. Method for scrambling data in which scrambling data and scrambled data are stored in corresponding non-volatile memory locations
JP5268617B2 (ja) * 2008-12-17 2013-08-21 キヤノン株式会社 画像形成装置、画像形成装置の制御方法及びコンピュータプログラム
TWI393142B (zh) * 2008-12-29 2013-04-11 Macronix Int Co Ltd 記憶體裝置與其控制方法
US8380914B1 (en) * 2008-12-31 2013-02-19 Micron Technology, Inc. Extended address mode for serial flash memory
US8094500B2 (en) 2009-01-05 2012-01-10 Sandisk Technologies Inc. Non-volatile memory and method with write cache partitioning
KR101760144B1 (ko) * 2009-01-05 2017-07-31 샌디스크 테크놀로지스 엘엘씨 비휘발성 메모리 및 기록 캐시를 분할하는 방법
US8700840B2 (en) 2009-01-05 2014-04-15 SanDisk Technologies, Inc. Nonvolatile memory with write cache having flush/eviction methods
US8040744B2 (en) * 2009-01-05 2011-10-18 Sandisk Technologies Inc. Spare block management of non-volatile memories
US8244960B2 (en) * 2009-01-05 2012-08-14 Sandisk Technologies Inc. Non-volatile memory and method with write cache partition management methods
US8261158B2 (en) 2009-03-13 2012-09-04 Fusion-Io, Inc. Apparatus, system, and method for using multi-level cell solid-state storage as single level cell solid-state storage
US8266503B2 (en) 2009-03-13 2012-09-11 Fusion-Io Apparatus, system, and method for using multi-level cell storage in a single-level cell mode
US8370702B2 (en) * 2009-06-10 2013-02-05 Micron Technology, Inc. Error correcting codes for increased storage capacity in multilevel memory devices
US7916533B2 (en) * 2009-06-24 2011-03-29 Sandisk Corporation Forecasting program disturb in memory by detecting natural threshold voltage distribution
JP2011186555A (ja) * 2010-03-04 2011-09-22 Toshiba Corp メモリ管理装置及び方法
CN101630266B (zh) * 2009-08-21 2013-12-18 成都市华为赛门铁克科技有限公司 固件加载方法、装置和固态硬盘
US8661184B2 (en) 2010-01-27 2014-02-25 Fusion-Io, Inc. Managing non-volatile media
US8854882B2 (en) 2010-01-27 2014-10-07 Intelligent Intellectual Property Holdings 2 Llc Configuring storage cells
KR101655306B1 (ko) * 2010-02-24 2016-09-07 삼성전자주식회사 메모리 시스템 및 그것의 액세스 방법
US9245653B2 (en) 2010-03-15 2016-01-26 Intelligent Intellectual Property Holdings 2 Llc Reduced level cell mode for non-volatile memory
JP5612508B2 (ja) * 2010-03-25 2014-10-22 パナソニック株式会社 不揮発性メモリコントローラ及び不揮発性記憶装置
US9836370B2 (en) 2010-11-18 2017-12-05 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Backup memory administration using an active memory device and a backup memory device
US8737138B2 (en) * 2010-11-18 2014-05-27 Micron Technology, Inc. Memory instruction including parameter to affect operating condition of memory
US20120278532A1 (en) * 2010-11-24 2012-11-01 Wladyslaw Bolanowski Dynamically configurable embedded flash memory for electronic devices
US8621328B2 (en) 2011-03-04 2013-12-31 International Business Machines Corporation Wear-focusing of non-volatile memories for improved endurance
US8671240B2 (en) * 2011-07-18 2014-03-11 Memory Technologies Llc User selectable balance between density and reliability
JP5971509B2 (ja) * 2011-08-30 2016-08-17 ソニー株式会社 情報処理装置および方法、並びに記録媒体
US9117493B2 (en) * 2011-09-01 2015-08-25 Chengdu Haicun Ip Technology Llc Discrete three-dimensional memory comprising off-die address/data translator
US9024425B2 (en) * 2011-09-01 2015-05-05 HangZhou HaiCun Information Technology Co., Ltd. Three-dimensional memory comprising an integrated intermediate-circuit die
US9588883B2 (en) * 2011-09-23 2017-03-07 Conversant Intellectual Property Management Inc. Flash memory system
KR20130060791A (ko) * 2011-11-30 2013-06-10 삼성전자주식회사 마모도 제어 로직을 포함하는 메모리 시스템, 데이터 저장 장치, 메모리 카드, 그리고 솔리드 스테이트 드라이브
US8995183B2 (en) * 2012-04-23 2015-03-31 Sandisk Technologies Inc. Data retention in nonvolatile memory with multiple data storage formats
JP5536255B2 (ja) * 2012-06-04 2014-07-02 慧榮科技股▲分▼有限公司 データアクセス時間を短縮したフラッシュメモリ装置及びフラッシュメモリのデータアクセス方法
FR2993380B1 (fr) * 2012-07-10 2020-05-15 Morpho Procede pour proteger une carte a puce contre une attaque physique destinee a modifier le comportement logique d'un programme fonctionnel
KR101975406B1 (ko) * 2012-07-11 2019-05-07 삼성전자주식회사 비휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템 및 그것의 메모리 블록 관리, 소거, 및 프로그램 방법들
US8750045B2 (en) 2012-07-27 2014-06-10 Sandisk Technologies Inc. Experience count dependent program algorithm for flash memory
US8804452B2 (en) 2012-07-31 2014-08-12 Micron Technology, Inc. Data interleaving module
TWI486965B (zh) * 2012-10-03 2015-06-01 Pixart Imaging Inc 使用於存取裝置與控制裝置之間之一傳輸埠的通訊方法以及存取裝置
KR101906966B1 (ko) 2012-11-05 2018-12-07 삼성전자주식회사 논리 장치 및 이의 동작 방법
KR102053953B1 (ko) * 2013-02-04 2019-12-11 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 프로그램 방법
KR20140105343A (ko) * 2013-02-22 2014-09-01 삼성전자주식회사 디바이스 및 디바이스에서 복수의 모드를 이용한 데이터의 보안 방법
US9153331B2 (en) * 2013-03-13 2015-10-06 Sandisk Technologies Inc. Tracking cell erase counts of non-volatile memory
KR102039537B1 (ko) * 2013-03-15 2019-11-01 삼성전자주식회사 불휘발성 저장 장치 및 그것의 운영체제 이미지 프로그램 방법
CN104103318B (zh) * 2013-04-12 2019-11-05 三星电子株式会社 操作存储控制器的方法和包括存储控制器的数据存储设备
JP6213040B2 (ja) * 2013-08-19 2017-10-18 富士通株式会社 半導体記憶装置および半導体記憶装置の制御方法
US9519577B2 (en) 2013-09-03 2016-12-13 Sandisk Technologies Llc Method and system for migrating data between flash memory devices
US9442670B2 (en) 2013-09-03 2016-09-13 Sandisk Technologies Llc Method and system for rebalancing data stored in flash memory devices
US9513692B2 (en) * 2013-09-18 2016-12-06 Intel Corporation Heterogenous memory access
US20150120988A1 (en) * 2013-10-28 2015-04-30 Skymedi Corporation Method of Accessing Data in Multi-Layer Cell Memory and Multi-Layer Cell Storage Device Using the Same
US9612773B2 (en) * 2013-11-21 2017-04-04 Samsung Electronics Co., Ltd. User device having a host flash translation layer (FTL), a method for transferring an erase count thereof, a method for transferring reprogram information thereof, and a method for transferring a page offset of an open block thereof
US9218886B2 (en) 2013-12-10 2015-12-22 SanDisk Technologies, Inc. String dependent parameter setup
US20150169228A1 (en) * 2013-12-12 2015-06-18 Sandisk Technologies Inc. System and method of storing data at a non-volatile memory
JP6308433B2 (ja) * 2014-05-21 2018-04-11 コニカミノルタ株式会社 画像形成装置及び制御方法並びに制御プログラム
US8891303B1 (en) 2014-05-30 2014-11-18 Sandisk Technologies Inc. Method and system for dynamic word line based configuration of a three-dimensional memory device
US9645749B2 (en) * 2014-05-30 2017-05-09 Sandisk Technologies Llc Method and system for recharacterizing the storage density of a memory device or a portion thereof
JP6146675B2 (ja) * 2014-06-03 2017-06-14 コニカミノルタ株式会社 画像形成装置及びフラッシュメモリの制御方法並びに制御プログラム
US9563370B2 (en) 2014-09-02 2017-02-07 Sandisk Technologies Llc Triggering a process to reduce declared capacity of a storage device
US9582203B2 (en) 2014-09-02 2017-02-28 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by reducing a range of logical addresses
US9582193B2 (en) 2014-09-02 2017-02-28 Sandisk Technologies Llc Triggering a process to reduce declared capacity of a storage device in a multi-storage-device storage system
US9665311B2 (en) 2014-09-02 2017-05-30 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by making specific logical addresses unavailable
US9563362B2 (en) 2014-09-02 2017-02-07 Sandisk Technologies Llc Host system and process to reduce declared capacity of a storage device by trimming
US9582220B2 (en) 2014-09-02 2017-02-28 Sandisk Technologies Llc Notification of trigger condition to reduce declared capacity of a storage device in a multi-storage-device storage system
US9652153B2 (en) 2014-09-02 2017-05-16 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by reducing a count of logical addresses
US9524105B2 (en) 2014-09-02 2016-12-20 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by altering an encoding format
US9524112B2 (en) 2014-09-02 2016-12-20 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by trimming
US9582202B2 (en) 2014-09-02 2017-02-28 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by moving data
US9582212B2 (en) 2014-09-02 2017-02-28 Sandisk Technologies Llc Notification of trigger condition to reduce declared capacity of a storage device
US9519427B2 (en) 2014-09-02 2016-12-13 Sandisk Technologies Llc Triggering, at a host system, a process to reduce declared capacity of a storage device
US9158681B1 (en) 2014-09-02 2015-10-13 Sandisk Technologies Inc. Process and apparatus to reduce declared capacity of a storage device by conditionally trimming
US9552166B2 (en) 2014-09-02 2017-01-24 Sandisk Technologies Llc. Process and apparatus to reduce declared capacity of a storage device by deleting data
JP6266479B2 (ja) * 2014-09-12 2018-01-24 東芝メモリ株式会社 メモリシステム
TWI514251B (zh) * 2014-10-09 2015-12-21 Realtek Semiconductor Corp 資料配置方法與裝置
KR20160052278A (ko) 2014-11-04 2016-05-12 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작 방법
KR102297541B1 (ko) 2014-12-18 2021-09-06 삼성전자주식회사 메모리 영역의 신뢰성에 기초하여 데이터를 저장하는 저장 장치 및 스토리지 시스템
KR102295208B1 (ko) 2014-12-19 2021-09-01 삼성전자주식회사 프로그램 영역을 동적으로 할당하는 저장 장치 및 그것의 프로그램 방법
KR102282962B1 (ko) * 2014-12-22 2021-07-30 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US10788994B1 (en) * 2014-12-30 2020-09-29 EMC IP Holding Company LLC Disaggregation of flash management
TWI544490B (zh) 2015-02-05 2016-08-01 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
KR20160108659A (ko) 2015-03-04 2016-09-20 에스케이하이닉스 주식회사 반도체 메모리 장치의 동작 방법 및 반도체 메모리 장치를 포함하는 메모리 시스템
US9639282B2 (en) 2015-05-20 2017-05-02 Sandisk Technologies Llc Variable bit encoding per NAND flash cell to improve device endurance and extend life of flash-based storage devices
US9606737B2 (en) 2015-05-20 2017-03-28 Sandisk Technologies Llc Variable bit encoding per NAND flash cell to extend life of flash-based storage devices and preserve over-provisioning
US10096355B2 (en) * 2015-09-01 2018-10-09 Sandisk Technologies Llc Dynamic management of programming states to improve endurance
US9401216B1 (en) 2015-09-22 2016-07-26 Sandisk Technologies Llc Adaptive operation of 3D NAND memory
US9691473B2 (en) 2015-09-22 2017-06-27 Sandisk Technologies Llc Adaptive operation of 3D memory
EP3262518A4 (en) 2015-09-30 2018-04-18 Hewlett-Packard Enterprise Development LP Using a memory controller to manage access to a memory based on a memory initialization state indicator
KR102424702B1 (ko) * 2015-11-19 2022-07-25 삼성전자주식회사 불휘발성 메모리 모듈 및 이를 포함하는 전자 장치
US9946483B2 (en) 2015-12-03 2018-04-17 Sandisk Technologies Llc Efficiently managing unmapped blocks to extend life of solid state drive with low over-provisioning
US9946473B2 (en) 2015-12-03 2018-04-17 Sandisk Technologies Llc Efficiently managing unmapped blocks to extend life of solid state drive
US10007458B2 (en) * 2015-12-18 2018-06-26 Microsemi Solutions (U.S.), Inc. Method of configuring memory cells in a solid state drive based on read/write activity and controller therefor
JP6156710B2 (ja) * 2016-05-16 2017-07-05 ソニー株式会社 情報処理装置および方法、並びに記録媒体
US10121555B2 (en) * 2016-05-26 2018-11-06 Advanced Micro Devices, Inc. Wear-limiting non-volatile memory
US10055158B2 (en) 2016-09-22 2018-08-21 Qualcomm Incorporated Providing flexible management of heterogeneous memory systems using spatial quality of service (QoS) tagging in processor-based systems
US9971537B1 (en) * 2016-10-26 2018-05-15 Pure Storage, Inc. Hardware support to track and transition flash LUNs into SLC mode
JP6789788B2 (ja) * 2016-12-12 2020-11-25 株式会社メガチップス メモリ装置、コントローラ、ホスト装置、データ処理システム、制御プログラム、メモリ装置の動作方法及びホスト装置の動作方法
US10282094B2 (en) * 2017-03-31 2019-05-07 Samsung Electronics Co., Ltd. Method for aggregated NVME-over-fabrics ESSD
CN109378027A (zh) * 2017-08-09 2019-02-22 光宝科技股份有限公司 固态储存装置的控制方法
DE102017221710A1 (de) * 2017-12-01 2019-06-06 Continental Automotive Gmbh Datenspeichervorrichtung für ein Kraftfahrzeug
US11288116B2 (en) * 2018-02-15 2022-03-29 Micron Technology, Inc. End of service life of data storage devices
JP7128088B2 (ja) * 2018-11-02 2022-08-30 キオクシア株式会社 メモリシステム
KR20200053965A (ko) * 2018-11-09 2020-05-19 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
JP7095568B2 (ja) * 2018-11-21 2022-07-05 Tdk株式会社 メモリコントローラ及びこれを備えるフラッシュメモリシステム
KR20200075565A (ko) * 2018-12-18 2020-06-26 에스케이하이닉스 주식회사 스마트 카 시스템
US11194473B1 (en) * 2019-01-23 2021-12-07 Pure Storage, Inc. Programming frequently read data to low latency portions of a solid-state storage array
US10817187B2 (en) 2019-01-24 2020-10-27 Western Digital Technologies, Inc. Balancing the block wearing leveling for optimum SSD endurance
CN111831591B (zh) * 2019-04-19 2022-06-07 澜起科技股份有限公司 用于对存储模块进行访问控制的装置及方法
JP2022522437A (ja) * 2019-04-30 2022-04-19 長江存儲科技有限責任公司 コントローラ、機器および方法
US11467761B2 (en) * 2019-05-31 2022-10-11 Micron Technology, Inc. Memory device and method for monitoring the performances of a memory device
US10949126B2 (en) * 2019-07-25 2021-03-16 ScaleFlux, Inc. Solid-state storage device speed performance and endurance through host-side data classification and embedded write caching
TWI714267B (zh) * 2019-09-18 2020-12-21 華邦電子股份有限公司 非揮發性記憶體及其資料寫入方法
KR20220020717A (ko) * 2020-08-12 2022-02-21 삼성전자주식회사 메모리 장치, 메모리 컨트롤러 및 이들을 포함하는 메모리 시스템
US11615839B2 (en) 2021-07-06 2023-03-28 Sandisk Technologies Llc Non-volatile memory with variable bits per memory cell
US20230053269A1 (en) * 2021-08-16 2023-02-16 Sandisk Technologies Llc Memory device with improved endurance
US20230410923A1 (en) * 2022-06-21 2023-12-21 Sandisk Technologies Llc Hybrid precharge select scheme to save program icc
US20230420042A1 (en) * 2022-06-23 2023-12-28 Sandisk Technologies Llc Memory device with unique read and/or programming parameters

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6456528B1 (en) * 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163021A (en) * 1989-04-13 1992-11-10 Sundisk Corporation Multi-state EEprom read and write circuits and techniques
US6230233B1 (en) * 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
KR950000273B1 (ko) * 1992-02-21 1995-01-12 삼성전자 주식회사 불휘발성 반도체 메모리장치 및 그 최적화 기입방법
KR960000616B1 (ko) * 1993-01-13 1996-01-10 삼성전자주식회사 불휘발성 반도체 메모리 장치
US5367484A (en) * 1993-04-01 1994-11-22 Microchip Technology Incorporated Programmable high endurance block for EEPROM device
DE69523304T2 (de) * 1994-06-02 2002-07-11 Intel Corp Dynamischer speicher mit einem bis mehreren bits pro zelle
US5822256A (en) * 1994-09-06 1998-10-13 Intel Corporation Method and circuitry for usage of partially functional nonvolatile memory
KR0142367B1 (ko) * 1995-02-04 1998-07-15 김광호 열 리던던씨를 가지는 불휘발성 반도체 메모리의 소거 검증회로
US5671388A (en) * 1995-05-03 1997-09-23 Intel Corporation Method and apparatus for performing write operations in multi-level cell storage device
US6728851B1 (en) * 1995-07-31 2004-04-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US5835935A (en) * 1995-09-13 1998-11-10 Lexar Media, Inc. Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory
JP3200012B2 (ja) 1996-04-19 2001-08-20 株式会社東芝 記憶システム
KR100272037B1 (ko) * 1997-02-27 2000-12-01 니시무로 타이죠 불휘발성 반도체 기억 장치
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
JPH11224491A (ja) * 1997-12-03 1999-08-17 Sony Corp 不揮発性半導体記憶装置およびそれを用いたicメモリカード
JPH11176178A (ja) * 1997-12-15 1999-07-02 Sony Corp 不揮発性半導体記憶装置およびそれを用いたicメモリカード
US6359810B1 (en) * 1998-03-13 2002-03-19 Atmel Corporation Page mode erase in a flash memory array
US6118705A (en) * 1998-03-13 2000-09-12 Atmel Corporation Page mode erase in a flash memory array
JP2000173281A (ja) * 1998-12-04 2000-06-23 Sony Corp 半導体記憶装置
JP2001006374A (ja) * 1999-06-17 2001-01-12 Hitachi Ltd 半導体記憶装置及びシステム
KR100343449B1 (ko) 1999-10-19 2002-07-11 박종섭 플레시 메모리 회로 및 시스템
US7082056B2 (en) * 2004-03-12 2006-07-25 Super Talent Electronics, Inc. Flash memory device and architecture with multi level cells
JP4282197B2 (ja) 2000-01-24 2009-06-17 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
US6732221B2 (en) * 2001-06-01 2004-05-04 M-Systems Flash Disk Pioneers Ltd Wear leveling of static areas in flash memory
JP2003022687A (ja) * 2001-07-09 2003-01-24 Mitsubishi Electric Corp 半導体記憶装置
US6717847B2 (en) * 2001-09-17 2004-04-06 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US7554842B2 (en) * 2001-09-17 2009-06-30 Sandisk Corporation Multi-purpose non-volatile memory card
US6643169B2 (en) * 2001-09-18 2003-11-04 Intel Corporation Variable level memory
US6807106B2 (en) * 2001-12-14 2004-10-19 Sandisk Corporation Hybrid density memory card
JP4270832B2 (ja) * 2002-09-26 2009-06-03 株式会社東芝 不揮発性半導体メモリ
US6847550B2 (en) * 2002-10-25 2005-01-25 Nexflash Technologies, Inc. Nonvolatile semiconductor memory having three-level memory cells and program and read mapping circuits therefor
JP4270994B2 (ja) 2003-09-29 2009-06-03 株式会社東芝 不揮発性半導体記憶装置
US7716413B2 (en) * 2004-02-15 2010-05-11 Sandisk Il Ltd. Method of making a multi-bit-cell flash memory
US8019928B2 (en) * 2004-02-15 2011-09-13 Sandisk Il Ltd. Method of managing a multi-bit-cell flash memory
US7336531B2 (en) * 2004-06-25 2008-02-26 Micron Technology, Inc. Multiple level cell memory device with single bit per cell, re-mappable memory block
KR100705221B1 (ko) * 2004-09-03 2007-04-06 에스티마이크로일렉트로닉스 엔.브이. 플래쉬 메모리 소자 및 이를 이용한 플래쉬 메모리 셀의소거 방법
JP2008020937A (ja) * 2004-10-29 2008-01-31 Matsushita Electric Ind Co Ltd 不揮発性記憶装置
JP2006164408A (ja) * 2004-12-08 2006-06-22 Toshiba Corp 不揮発性半導体記憶装置及びそのデータ消去方法。
US7308525B2 (en) * 2005-01-10 2007-12-11 Sandisk Il Ltd. Method of managing a multi-bit cell flash memory with improved reliablility and performance
US20060282610A1 (en) * 2005-06-08 2006-12-14 M-Systems Flash Disk Pioneers Ltd. Flash memory with programmable endurance
KR100732628B1 (ko) 2005-07-28 2007-06-27 삼성전자주식회사 멀티-비트 데이터 및 싱글-비트 데이터를 저장하는 플래시메모리 장치
SG130988A1 (en) * 2005-09-29 2007-04-26 Trek 2000 Int Ltd Portable data storage device incorporating multiple flash memory units
US7366013B2 (en) * 2005-12-09 2008-04-29 Micron Technology, Inc. Single level cell programming in a multiple level cell non-volatile memory device
TWI311327B (en) * 2006-01-26 2009-06-21 Nuvoton Technology Corporatio Method for page random write and read in the block of flash memory
JP4805696B2 (ja) 2006-03-09 2011-11-02 株式会社東芝 半導体集積回路装置およびそのデータ記録方式
US7593259B2 (en) * 2006-09-13 2009-09-22 Mosaid Technologies Incorporated Flash multi-level threshold distribution scheme
KR100809320B1 (ko) * 2006-09-27 2008-03-05 삼성전자주식회사 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑정보 관리 장치 및 방법
KR100773400B1 (ko) * 2006-10-26 2007-11-05 삼성전자주식회사 멀티 비트 플래시 메모리 장치
US7852654B2 (en) * 2006-12-28 2010-12-14 Hynix Semiconductor Inc. Semiconductor memory device, and multi-chip package and method of operating the same
US7646636B2 (en) * 2007-02-16 2010-01-12 Mosaid Technologies Incorporated Non-volatile memory with dynamic multi-mode operation
US7804718B2 (en) * 2007-03-07 2010-09-28 Mosaid Technologies Incorporated Partial block erase architecture for flash memory
US8825939B2 (en) 2007-12-12 2014-09-02 Conversant Intellectual Property Management Inc. Semiconductor memory device suitable for interconnection in a ring topology
US8266503B2 (en) * 2009-03-13 2012-09-11 Fusion-Io Apparatus, system, and method for using multi-level cell storage in a single-level cell mode
US8261158B2 (en) * 2009-03-13 2012-09-04 Fusion-Io, Inc. Apparatus, system, and method for using multi-level cell solid-state storage as single level cell solid-state storage

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6456528B1 (en) * 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode

Also Published As

Publication number Publication date
US7646636B2 (en) 2010-01-12
US8767461B2 (en) 2014-07-01
KR20140013079A (ko) 2014-02-04
EP2490224A2 (en) 2012-08-22
KR20140146229A (ko) 2014-12-24
TW200845016A (en) 2008-11-16
US8391064B2 (en) 2013-03-05
WO2008098363A1 (en) 2008-08-21
KR100938334B1 (ko) 2010-01-22
CA2675565A1 (en) 2008-08-21
KR20160043121A (ko) 2016-04-20
TWI449049B (zh) 2014-08-11
EP2126923A1 (en) 2009-12-02
KR20090077840A (ko) 2009-07-15
US20080198651A1 (en) 2008-08-21
US20140010019A1 (en) 2014-01-09
ES2477493T3 (es) 2014-07-17
JP5421127B2 (ja) 2014-02-19
CN101617372A (zh) 2009-12-30
WO2008098363A8 (en) 2008-11-06
JP2013229100A (ja) 2013-11-07
US8045377B2 (en) 2011-10-25
KR20090081426A (ko) 2009-07-28
US20130141973A1 (en) 2013-06-06
US8553457B2 (en) 2013-10-08
EP2490224A3 (en) 2013-08-21
JP2010518546A (ja) 2010-05-27
EP2126923B1 (en) 2014-04-09
CA2675565C (en) 2014-12-09
EP2126923A4 (en) 2010-03-17
US20120023285A1 (en) 2012-01-26
JP2015156251A (ja) 2015-08-27
US20100174854A1 (en) 2010-07-08
KR20130098439A (ko) 2013-09-04

Similar Documents

Publication Publication Date Title
CN101617372B (zh) 具有动态多模式操作的非易失性存储器
US11150808B2 (en) Flash memory system
CN101246738B (zh) 具有备份电路的存储系统及编程方法
KR100878479B1 (ko) 데이터 정보에 따라 프로그램 방식을 결정하는 메모리시스템
US20170160942A1 (en) Data storage device and flash memory control method
CN116303187A (zh) 用于支持峰值功率管理的i/o扩展器
KR20100022229A (ko) 불휘발성 메모리 소자 및 그 동작 방법
CN106098096A (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
GR01 Patent grant
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.

Free format text: FORMER NAME: MOSAID TECHNOLOGIES INC.

CP01 Change in the name or title of a patent holder

Address after: Ontario, Canada

Patentee after: MOSAID TECHNOLOGIES Inc.

Address before: Ontario, Canada

Patentee before: Mosaid Technologies Inc.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Ontario, Canada

Patentee after: MOSAID TECHNOLOGIES Inc.

Address before: Ontario, Canada

Patentee before: MOSAID TECHNOLOGIES Inc.