CN101458957B - 存储器***及其磨损平衡方法 - Google Patents
存储器***及其磨损平衡方法 Download PDFInfo
- Publication number
- CN101458957B CN101458957B CN200810177883.8A CN200810177883A CN101458957B CN 101458957 B CN101458957 B CN 101458957B CN 200810177883 A CN200810177883 A CN 200810177883A CN 101458957 B CN101458957 B CN 101458957B
- Authority
- CN
- China
- Prior art keywords
- memory block
- memory
- erasing
- error correction
- priority group
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1072—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
- G11C16/3495—Circuits 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Abstract
本发明提供了一种存储器***和磨损平衡方法。存储器***包括快闪存储器设备和存储器控制器。快闪存储器设备包括多个存储块,每个存储块包括多个存储单元。该存储器控制器被配置成基于每个存储块的擦除事件信息和检错与纠错(ECC)事件信息来控制该快闪存储器设备,以使得更加均衡地分配存储块的使用。
Description
优先权
本申请于要求2007年9月13日提交的韩国专利申请NO.10-2007-0093173的优先权,该申请的公开内容通过引用而被合并于此。
技术领域
示例性实施例涉及存储器***(例如,使用快闪存储器设备的存储器***)。
背景技术
电可擦除可编程只读存储器(EEPROM)是一种允许重复以及同时对多个存储块进行擦除和编程的存储设备。EEPROM的一个例子是快闪存储器。传统快闪存储器允许通过单个操作同时完成对一个区域的多个存储块(block)的编程和/或擦除。然而,传统快闪存储器设备中的存储块可能会损坏(磨损),导致不能使用。例如,传统快闪存储器设备中的每个存储块具有电荷存储元件。绝缘层环绕着电荷存储元件。对存储块的重复使用会磨损绝缘层并使存储块不可用。
传统快闪存储器设备可以在一个或多个硅芯片上存储信息。不管是否消耗电能也不论是否提供电能,存储的信息都可以一直保留在硅芯片上。另外,快闪存储器设备可以提供物理冲击阻力和更快的读取访问时间。由于这些特征,传统快闪存储器设备可以用作由外部(外面的)电源(例如,电池供电)供电的存储设备。根据存储设备中使用的逻辑门类型,快闪存储器设备可以被分为NOR快闪存储器设备或NAND快闪存储器设备。
传统快闪存储器设备可以在晶体管(被称为单元(cell))阵列中存储信息,每个晶体管存储1比特信息。通过改变施加到每个单元的浮置栅极的电荷,多电平单元设备每单元存储多于1比特的数据。
传统快闪存储器的使用中关心的是存储块的耐久性和可靠性。可靠性可以由存储块保持数据的能力来确定。耐久性可以由在没有质量损坏的情况下存储块能够承担的编程/擦除循环的数量确定。不再可靠和/或耐久的存储块被称为“坏块”。
坏块出现的原因有很多。举例来说,存储的电荷(电子)可能由于各种各样的失误(例如,穿过缺陷互聚乙烯绝缘层的热离子发射和电荷扩散;离子杂质;程序干扰应力;等等)从浮置栅极中泄漏。这会导致阀值电压的降低。此外,相反的效果,如果浮置栅极在将控制门维持在电源电压期间相对缓慢地获得电荷,则可能发生电荷捕获。这会导致阀值电压的升高。此外,重复的编程/擦除循环会导致对存储器晶体管的氧化物层产生应力。这还会导致例如快闪存储器设备中隧道氧化物层击穿的失误。
在传统快闪存储器设备中,当编程/擦除循环的数量达到大约10K时,由于老化和退化现象,出现坏块的可能性进一步升高。
为处理这些顾虑,一些传统的磨损平衡方法更加一致地使用快闪存储器设备中的全部存储块。例如,磨损平衡的传统形式线性地映射存储块和使用每个块。这样,直到所有的存储块都已被先前用过了才再使用存储块。然而,由于一些存储块经过了一段擦除和编程循环周期之后会比其它存储块更容易出错,因此这会导致***性能退化。
发明内容
示例性实施例提供了能够改进可靠性的存储器***和/或磨损平衡方法。
在一个示例性实施例中,存储器***可以包括快闪存储器设备和存储器控制器。该快闪存储器设备可以包括多个存储块。该多个存储块的每一个可以包括至少一个存储单元。该存储器控制器可以被配置成控制该快闪存储器设备以使得根据存储块的擦除和存储在存储块中的数据中的错误来分配存储块的使用。该快闪存储器设备和存储器控制器可以构成存储器卡。
根据示例性实施例,存储器控制器可以被配置成分配存储块的使用以使得均匀分配存储块的使用。存储器控制器可以被配置成分配存储块的使用以使得存储块之间使用量的差减小。存储器控制器可以被配置成跟踪存储块的擦除和存储在存储块中的数据中的错误校正中的至少一个,并且可以被配置成基于被跟踪的擦除和错误校正来分配存储块的使用。错误校正可以包括至少一个存储块的比特值。错误校正可以包括存储块的行中的至少一行的比特值。
根据示例性实施例,存储器控制器可以被配置成将存储块分派为至少两组。存储器控制器可以被配置成通过根据与每个存储块相关的优先等级将存储块分派为至少两组来分配存储块的使用,所述与每个存储块相关的优先等级是基于存储块的擦除和存储在每个存储块中的数据的错误来分配的。
根据示例性实施例,存储器控制器可以被配置成根据与每个存储块相关的优先级别,将存储块分派成高优先级组、中优先级组和低优先级组。存储器控制器可以被配置成开始时将存储块分派到高优先级组,然后根据擦除和存储在每个存储块的数据的错误,将存储块分派到中优先级组和低优先级组中的至少一个。当第一存储块中的2比特错误的数目超过第一临界值和第一存储块的擦除数量超过阀值这两种情况中的至少一个发生时,存储器控制器可以将第一存储块分派到中优先级组。当第一存储块中的3比特错误的数目超过第二临界值时,存储器控制器可以将第一存储块分派到低优先级组。
在另一个示例性实施例中,存储器控制器可以包括处理单元、缓冲存储器和ECC单元。缓冲存储器可以被配置成暂时存储要被存储到多个存储块中的被选存储块的数据或从其中读出的数据。ECC单元可以被配置成检测存储在该多个存储块中的被选存储块中的数据中的错误并将该错误数据传送到所述处理单元。
在示例性实施例中,计算机***包括存储器控制器、快闪存储器设备、微处理器和用户接口。该微处理器可以与存储器控制器互相作用,以将数据存储到快闪存储器。用户接口可以控制微处理器的动作。
在磨损平衡方法的示例性实施例中,可以根据使用循环对存储块的擦除和错误校正进行存储。可以基于所存储的擦除和错误校正分配存储块的使用。可以基于存储的擦除和错误校正,将存储块分派成至少两组。可以根据对存储块的分派来分配存储块的使用。
根据示例性实施例,该至少两组包括高优先级组、中优先级组和低优先级组。每个存储块开始时可以被分派到高优先级组,然后根据与存储块相关的擦除和错误校正中的至少一个,被分派到中优先级组和低优先级组中的至少一个。当第一存储块中的2比特错误的数目超过第一临界值和第一存储块的擦除数量超过阀值这两种情况中的至少一个发生时,每个存储块可以被分派到中优先级组。当第一存储块中的3比特错误的数目超过第二临界值时,每个存储块可以被分派到低优先级组。错误校正可以包括至少一个存储块的比特值。错误校正可以包括存储块的行中的至少一行的比特值。
在另一个示例性实施例中,该存储器***包括快闪存储器设备和存储器控制器。快闪存储器设备可以包括多个存储部分(unit),该多个存储部分中的每一个包括多个存储单元。存储器控制器可以控制快闪存储器设备。存储器控制器可以基于每个存储单元的擦除事件信息和ECC事件信息,对存储单元执行磨损平衡操作。
附图说明
包含附图以提供对示例性实施例的进一步理解,并且附图合并到说明书中构成说明书的一部分。在附图中:
图1是根据示例性实施例的存储器***的框图;
图2是根据示例性实施例的磨损平衡方法的视图;
图3是示出根据示例性实施例的存储器***的磨损平衡方法的流程图;并且
图4是示出根据示例性实施例的具有存储器***的计算***的框图。
具体实施方式
示范性实施例可以被实施为多种不同的形式,并且这些示范性实施例不应当被理解为局限于这里所描述的实施例。提供这些示范性实施例以使得本公开对本领域技术人员来说清楚完整,并完全传达本发明的范围。
应当理解,当称一个元件或层“在...上”、“连接到”、“耦接到”另一个元件或层时,其能够直接在另一元件或层上、连接到或耦接到另一个元件或层上,或者也可以存在***元件或层。相反,当称一个元件“直接在...上”、“直接连接到”、或“直接耦接到”另一元件或层时,则不存在***元件或层。这里所用的,术语“和/或”包括相关列出条目的一个或多个的任意和所有组合。
应当理解,尽管这里可能使用术语第一、第二等来描述各种元件、部件、区域、层和/或区段,但是这些元件、部件、区域、层和/或区段不应当被这些术语所限制。这些术语可以仅用于将一个元件、组件、区域、层和部件和另一个区域、层或部件区分开来。因此,在不脱离这些示范性实施例的教导的情况下,下面讨论的第一元件、组件、区域、层或部件可以被称为第二元件、组件、区域、层或部件。
这里可能使用空间相对术语,如“在...之下”、“在...下面”、“低于”、“在...之上”、“在...上面”等等来简化描述,以描述图中所示的一个元件或特征对另一个元件或特征的关系。应当理解,空间相对术语可以意欲包括使用中的或操作中的设备的除了图中描述的方位之外的不同的方位。例如,如果在图中的设备被翻转,则用在其它元件或特征“之下”或“下面”描述的元件将被用在其它元件或特征“之上”来定位。因此,示范性术语“在...之下”能够包括“在...之上”和“在...之下”两种方位。设备可以以其它方式定位(旋转90度或在其它方位),相应地翻译这里所用的空间相对描述语。
这里所用的术语仅仅是为了描述具体的示范性实施例,不意欲是限制性的。正如这里所用的,单数形式“一”、“一个”和“这个”可以意欲也包括复数形式,除非上下文清楚地指明是单数。还应当理解,用于本说明书中的术语“包括”和/或“包含”指定了既定特征、整数、步骤、操作、元件和/或部件的存在,但是不排除一个或更多的其它特征、整数、步骤、操作、元件、部件、和/或它们的分组的存在或增加。
这里参照作为本发明的理想化实施例(和中间结构)的示意图的代表性图来描述本发明的实施例。同样地,将会预见由于例如制造技术和/或公差带来的图的形状的变化。因此,不应当认为本发明的实施例局限于这里示出的特定区域形状,而是包括由例如制造引起的形状的偏差。例如,以矩形示出的嵌入(implant)区域将典型地具有圆形或弯曲的特征和/或其边缘处具有嵌入浓度(concentration)的梯度而不是从嵌入区到非嵌入区是二进制变化。相似地,由嵌入形成的掩埋(buried)区域可以导致在该掩埋区域和嵌入通过其发生的表面之间的区域中的一些嵌入。因而,图中示出的区域是实际上是示意性的,它们的形状不意图示出设备的区域的实际形状,并且不应当被认为限制本发明的范围。
除非另有定义,这里所用的所有术语(包括技术和科学术语)具有和本领域技术人员通常理解的相同的意思。还应当理解,诸如在通常使用的词典中定义的那些术语应当被理解为具有和在相关技术的内容中的意思一致的意思,并且不应当被解释为理想化的或超出正规认识的,除非这里做了特别的定义。
存储块(例如,“存储部分”,“扇区”)可以包含多个存储单元并且可以组成可擦除单元。为了描述方便,示例性实施例使用了术语“存储块”。很显然对本领域技术人人员来说,术语“存储块”并不局限于特定的存储器区域。
存储器***的示例性实施例可以包含快闪存储器设备和存储器控制器。存储器控制器可以包含处理单元、缓冲器或缓冲存储器以及检错与纠错(ECC)单元。缓冲器可以被配置成暂时存储从选择的存储块读出的数据。ECC单元可以被配置成检测错误并将错误数据传送到处理单元。
图1是根据示例性实施例的存储器***的框图。存储器***100可以包含存储器控制器120和快闪存储器***140。存储器控制器120可以响应于,例如来自主机的外部请求来控制快闪存储器***140。存储器控制器120可以包含处理单元122、检测与纠错(ECC)单元124以及缓冲存储器126。处理单元122可以控制存储器控制器120的全部操作。ECC单元124可以根据从快闪存储器140读出的数据是否有错误,基于存储在快闪存储器设备140中的数据生成ECC数据。
在一个例子中,ECC单元124可以确定从快闪存储器设备140中读出的数据是否包含错误。如果ECC单元124检测到错误,则ECC单元124可以通知处理单元122检测到错误。缓冲存储器126可以暂时存储要被存储在快闪存储器设备140中的数据或从快闪存储器设备140读出的数据。缓冲存储器126也可以存储用于管理快闪存储器设备140的程序和/或映射表格。
快闪存储器设备140可以包含多个存储块BLK0到BLKm-1以及读/写(R/W)电路144。多个存储块BLK0到BLKm-1中的每一个可以包含多个存储单元,例如,存储块BLK0到BLKm-1的一个或多个阵列142。每个存储单元可以具有存储电荷的晶体管或类似结构。R/W电路144可以响应于来自存储器控制器120的请求对一个或多个被选存储块执行读/写操作。
存储器控制器120可以被配置成控制快闪存储器140,以便根据存储块的擦除和存储在存储块中的数据中的错误来分配存储块的使用。对存储块的使用进行分配以使得能够更加均衡或更加一致地分配对存储块的使用,或者使得存储块之间使用量的差降低。在可替换的示例性实施例中,存储器控制器120可以控制快闪存储器140以便根据存储在存储块中的数据的错误分配存储块的使用。
还是参考图1中的示例性实施例,存储器***100可以分配快闪存储器设备140的存储块BLK0到存储块BLKm-1的使用(例如,磨损平衡)。举例来说,存储器***100可以基于与每个存储块相关的擦除事件信息和/或ECC事件信息来分配存储块BLK0到存储块BLKm-1的使用。擦除事件信息可以指示存储块的擦除数量。ECC事件信息可以指示存储在存储块中的数据的错误。
磨损平衡的示例性实施例可以跟踪存储块被编程和擦除(擦除)的次数。然而,由于每个存储块可以具有不同的擦除/编程特性,因此上述方式不能准确反映存储块经历(undertaken)的损坏。这种擦除/编程特性的差异可能使得平衡存储块的退化程度相对困难。
存储器控制器120可以被配置成跟踪存储块的擦除和存储在该存储块中的数据的错误校正中的至少一个。基于错误校正和擦除中的任意一个或基于错误校正和擦除二者,存储器控制器120可以分配存储块的使用。
还是参考图1中的示例性实施例,存储器***100可以通过跟踪每个存储块的擦除事件信息和ECC事件信息来管理每个存储块的P/E循环。擦除事件信息可以包含擦除事件计数(ERS_CNT),其对存储块的每个擦除进行计数。可以为每个存储块分配独立的擦除事件计数ERS_CNT。每当擦除相关存储块时则擦除事件计数ERS_CNT增加。
存储器***100也可以跟踪每个块的ECC事件信息。在一个示例性实施例中,ECC事件信息可以包含为每个存储块分配的2比特值。存储块的第一错误比特值(EBN_2)代表2比特错误的检测和校正。当校正该2比特错误时,设定该第一错误比特值(EBN_2)。存储块的第二错误比特值(EBN_3)表示3比特错误的检测和校正。在校正该3比特错误时,设定第二错误比特值EBN_3。第一错误比特值EBN_2和第二错误比特值EBN_3可以是两个单独的数值并且两者都可以跟踪单个存储块中的错误数量。
处理单元122可以借助于快闪存储器设备140中存储的磨损平衡表格来管理擦除事件计数ERS_CNT和第一及第二错误比特值EBN_2和EBN_3。在***被激活时该磨损平衡表格可以被装载到缓冲存储器126中。当存储块中发生擦除时,处理单元122可以更新磨损平衡表格,以对于选择的存储块增加擦除事件计数ERS_CNT。如果在从存储块读取的数据中检测到错误,则ECC单元124可以校正该错误并向处理单元122提供错误比特值(作为ECC数据)。处理单元122可以更新磨损平衡表格,以根据ECC单元124校正的比特的数目(如ECC数据指示的)增加第一错误比特值EBN_2或第二错误比特值EBN_3。通过这个方法,擦除事件计数ERS_CNT和第一及第二错误比特值(EBN_2和EBN_3)可以由处理单元122管理。
存储器***100可以被配置成将存储块分派到至少2组。图2示出了一个示例性实施例,其中,存储块BLK0到BLKm-1被分派到作为缺省状态或初始状态的第一组201。每次执行读取/擦除/编程操作时,可以增加每个存储块的擦除事件计数ERS_CNT和第一及第二错误比特值EBN_2和EBN_3。随着每个存储块的擦除事件计数ERS_CNT和第一及第二错误比特值EBN_2和EBN_3增加,存储块BLK0到BLKm-1可以被有选择地分派到第二组202或第三组203。
图2也示出了一个将存储块分派到第一组201、第二组202和第三组203的例子。如果擦除事件计数ERS_CNT超过擦除临界值T_ERS,或者第一错误比特值EBN_2超过第一ECC临界值T_ECC1,则第一组201中的与该擦除事件计数ERS_CNT相关或与第一错误比特值EBN_2相关的存储块可以被分派到第二组202。如果第二错误比特值EBN_3超过第二ECC临界值T_ECC2,则第二组202中的与该第二错误比特值EBN_3相关的存储块可以被分派到第三组203。如果第二错误比特值EBN_3超过第二ECC临界值T_ECC2,则第一组201中的与该第二错误比特值EBN_3相关的存储块可以被分派到第三组203。根据示例性实施例,当请求编程操作时,第一组201中的存储块可以在第二组202和第三组203中的存储块之前被选择用于编程操作。此外,第二组202中的存储块可以在第三组203中的存储块之前被选择用于编程操作。通过考虑每个存储块的擦除和错误校正的数量,可以平衡存储块的退化。
如果随着P/E循环的进行,被选存储块中的要校正的错误的数量增加,则被选存储块中的存储单元的损坏程度会相对很高。结果,可以管理第三组203中的存储块以便减小和/或最小化擦除的数量。这会抑制具有大量的错误比特的存储块的快速磨损。通过抑制易于错误的存储块的磨损,可以减小替代存储块(取决于什么时候存储部分变坏,例如,误操作或变得不能操作)的数量。因此,可以增加可用存储部分的净总值。
可以根据优先等级安排第一、第二和第三组的存储块。例如,高优先级组、中优先级组以及低优先级组。所有的存储块可以在开始时被放置到高优先级组。高优先级组可以是表示分配到具有相对低的擦除和/或错误数量的组的存储块的缺省组。存储块也可以基于擦除或错误校正中的至少一个被分配到中等优先级组和/或低优先级组中的至少一个。例如,当2比特错误的数目超过第一临界值和擦除数量超过阀值这两种情况中的至少一个发生时,每个存储块可以被放置到中优先级组。此外,当3比特错误的数目超过第二临界值时,每个存储块可以被放置到低优先级组。在存储器分配期间,分配给中优先级组的存储块具有比分配到高优先级组的存储块更低的优先级。此外,在存储器分派期间,低优先级组中的存储块具有比高或中优先级组更低的优先级。这样,根据给它们被分配的优先级,首先选择具有较少擦除和/或错误的存储块。
每个存储块可以是单一的或一组存储单元。错误校正可以包括至少一个存储块的比特值,或可以包括存储块中的各行存储单元中的至少一行的比特值。例如,擦除事件信息可以包括每个存储块的擦除事件计数。ECC事件信息可以包含存储块BLK0到BLKm-1中的至少一个存储块的错误比特值。同样,ECC事件信息可以包含存储块中的各行存储单元中的至少一行的错误比特值。每一行可以包含一页、多页或一字线。
另一个示例性实施例提供磨损平衡方法。该方法可以与存储器控制器和快闪存储器设备相结合来实施和/或执行。在这个示例性实施例中,可以根据使用循环存储存储块的擦除和错误校正。通过跟踪擦除和错误校正来分配存储块的使用。
图3是示出存储器***的磨损平衡方法的示例性实施例的流程图。
存储器***可以包含快闪存储器设备。快闪存储器设备可以包括构成擦除单元的至少一个存储部分。根据至少一个示例性实施例,在301,可以根据编程/擦除循环将每个存储块的擦除事件信息存储在磨损平衡表格。在302,可以基于存储在磨损平衡表格中的擦除事件信息和ECC事件信息,对每个存储块执行磨损平衡操作。根据至少一个示例性实施例,磨损平衡操作可以包含对存储块的使用区分优先次序。
该方法可以进一步包括将存储块分派到至少两个组。这两个组可以根据优先级被设置。在一个示例性实施例中,该组包含高优先级组、中优先级组以及低优先级组。存储块可以在开始时被设置到高优先级组。高优先级组可以是表示分配给具有相对低的擦除和/或错误数量的组的存储块的缺省组。存储块其后可以基于擦除和错误校正中的至少一个被分配到中优先级组和/或低优先级组中的至少一个。在存储器分派期间,分配给中优先级组的存储块具有比分配给高优先级组的存储块更低的优先级。低优先级组中的存储块具有比高或中优先级组的存储块更低的优先级。在存储块分派期间,相对于高优先级组和中优先级组中的存储块,低优先级组的存储块可以被认为是最后采用的存储块。这样,根据它们被分配的优先级,可以首先选择具有较少擦除和/或错误的存储块。
根据示例性实施例,当2比特错误的数目超过第一临界值和擦除数量超过阀值这两种情况中的至少一个发生时,每个存储块可以被分派到中优先级组。此外,当3比特错误的数目超过第二临界值时,每个存储部分可以被分派到低优先级组。
根据示例性实施例,擦除事件信息可以包含每个存储块的擦除事件计数,ECC事件信息可以包含每个存储块的错误比特值。存储块可以在开始时被分派到高优先级组。错误比特值可以包含表示2比特错误事件计数的第一错误比特值和表示3比特错误事件计数的第二错误比特值。当每个存储块的第一错误比特值大于第一ECC临界值时,每个存储块可以被分派到中等优先级组。当每个存储块的第二错误比特值大于第二ECC临界值时,中优先级组中的每个存储块可以被分派到低优先级组。
在图3中示出的示例性实施例中,擦除事件信息可以包含每个存储块的擦除事件计数。ECC事件信息可以包含多个存储块当中的至少一个存储块的错误比特值。在磨损平衡方法的另一个示例性实施例中,擦除事件信息可以包含每个存储块的擦除事件计数,并且ECC事件信息可以包含存储块的多行中至少一行的错误比特值。
快闪存储器设备可以是当断电时能够保持数据的非易失性存储设备。随着对移动设备(例如,移动电话、个人数字助理(PDA)、数字照相机、便携游戏控制台、MP3播放器等等)需要的增加,快闪存储器设备将会被广泛用于数据存储和/或代码存储。此外,快闪存储器设备也可以被应用于家用设备,诸如HDTV、DVD播放器、路由器、GPS设备等等。
图4是根据示例性实施例的具有存储器***的计算***的框图。计算***2000可以包含微处理器2100、用户接口2200、调制解调器2600(例如,基带芯片集)、存储器控制器2400以及快闪存储器设备2500。这些组件可以通过总线2001电连接。
在一个示例性实施例中,存储器控制器2400和快闪存储器设备2500可以构成具有与图1示出的示例性实施例的相同的或基本上相同结构的存储器***。快闪存储器设备2500可以通过存储器控制器2400存储可以由微处理器2100处理的N比特数据(N是等于或大于1的整数)。如果计算***2000是移动设备,则电池2300可以为计算***2000提供工作电压。尽管并未在图中示出,但是计算***2000可以进一步包含其它元件诸如应用芯片集、相机图像处理器(CIS)、移动DRAM等。同样显然快闪存储器设备2500和存储器控制器2400可以被配置成存储卡的形式。例如,存储器控制器2500和快闪存储器设备2400可以构成用于存储数据的非易失性存储设备的固态驱动器/磁盘(SSD)。
示例性实施例的快闪存储器设备2500和存储器控制器2400可以通过各种各样的封装格式安装。这些封装格式包括,并且并不局限于:封装上封装(PoP)、球栅阵列(BGA)、芯片级封装(CSP)、塑胶牵引芯片载体(PLCC)、塑胶双列直排封装(PDIP)、晶片包管芯、晶片形式管芯、板上芯片(COB)、陶瓷双列直排封装(CERDIP)、塑胶度量四心线组压板部件(MQFP)、薄四心线组压板部件(TQFP)、小外形(SOIC)、收缩小外形封装(SSOP)、薄小外形封装(TSOP)、薄四心线组压板部件(TQFP)、***内封装(SIP)、多芯片封装(MCP)、晶片级制造封装(WFP)、晶片级处理堆栈封装(WSP)等。
应当理解,前面的一般性描述和其后的具体性描述是例示性的,并且提供要求保护的本发明的附加解释。
示例性实施例中详细指出了参考数字,并在参考图示中表示了它们的例子。在每个可能的情况下,相似的参考数字被用来指代描述和图示中的同一个或相似的元件。
上面公开的主题被认为是例证性的,并且不是限制性的,并且附加的权利要求意欲覆盖落入示例性实施例的真正精神和范围内的所有这样的改进、提高和其它实施例。因此,在法律允许的最大范围内,通过随后的权利要求和它们的等同物的允许的最宽泛的解释来确定示例性实施例的范围,并且不局限于或受限于前述的具体描述。
Claims (12)
1.一种存储器***,包括:
快闪存储器设备,包含多个存储块,所述多个存储块的每一个包含至少一个存储单元;和
存储器控制器,被配置用来控制所述快闪存储器设备,以使得基于所述多个存储块的擦除和存储在所述多个存储块中的数据中的错误,将所述多个存储块分派成高优先级组、中优先级组和低优先级组,来分配所述多个存储块的使用,
其中所述存储器控制器被配置成初始将每个存储块分派到所述高优先级组,并且之后基于擦除和存储在每个存储块中的数据中的错误中的至少一个,分派到所述中优先级组和所述低优先级组中的至少一个,并且
其中当第一存储块中的2比特错误的数目超过第一临界值和第一存储块的擦除数量超过阈值这两种情况中的至少一个发生时,所述存储器控制器将第一存储块从所述高优先级组分派到所述中优先级组,当第一存储块中的3比特错误的数目超过第二临界值时,所述存储器控制器将第一存储块从所述高优先级组和中优先级组中的一个分派到所述低优先级组。
2.如权利要求1所述的存储器***,其中所述存储器控制器被配置成分配所述多个存储块的使用以使得均匀分配所述多个存储块的使用。
3.如权利要求1所述的存储器***,其中所述存储器控制器被配置成分配所述多个存储块的使用以使得降低所述多个存储块之间使用量的差异。
4.如权利要求1所述的存储器***,其中所述存储器控制器被配置成跟踪所述多个存储块的擦除和存储在所述多个存储块中的数据中的错误校正中的至少一个,并且被配置成基于所跟踪的擦除和错误校正来分配所述多个存储块的使用。
5.如权利要求4所述的存储器***,其中所述错误校正包括至少一个存储块的比特值。
6.如权利要求4所述的存储器***,其中所述错误校正包括存储块的多个行中的至少一行的比特值。
7.如权利要求1所述的存储器***,其中所述快闪存储器设备和所述存储器控制器构成存储器卡。
8.如权利要求1所述的存储器***,其中所述存储器控制器包括:
处理单元,
缓冲存储器,被配置成暂时存储要被存储到所述多个存储块中的被选存储块的数据或从其中读出的数据,和
纠错单元,被配置成检测存储在所述多个存储块中的被选存储块中的数据中的错误,并将该错误数据传送到所述处理单元。
9.一种计算***,包括:
如权利要求1所述的存储器***;和
微处理器,被配置成与所述存储器控制器交互以将数据存储在所述快闪存储器中。
10.一种磨损平衡方法,所述方法包括:
根据使用循环存储存储块的擦除和错误校正;以及
基于所存储的擦除和错误校正,将存储块分派成高优先级组、中优先级组和低优先级组,来分配存储块的使用,
其中初始将每个存储块分派到所述高优先级组,并且之后根据与所述存储块相关的擦除和错误校正中的至少一个,分派到所述中优先级组或低优先级组,并且
其中当2比特错误的数目超过第一临界值和擦除数量超过阈值这两种情况中的至少一个发生时,将每个存储块从高优先级组分派到中优先级组,当3比特错误的数目超过第二临界值时,将每个存储块从高优先级组和中优先级组中的一个分派到低优先级组。
11.如权利要求10所述的方法,其中所述错误校正包括至少一个存储块的比特值。
12.如权利要求10所述的方法,其中所述错误校正包括存储块的多个行中的至少一行的比特值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR93173/07 | 2007-09-13 | ||
KR1020070093173A KR101413736B1 (ko) | 2007-09-13 | 2007-09-13 | 향상된 신뢰성을 갖는 메모리 시스템 및 그것의웨어-레벨링 기법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101458957A CN101458957A (zh) | 2009-06-17 |
CN101458957B true CN101458957B (zh) | 2016-08-03 |
Family
ID=40455877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810177883.8A Active CN101458957B (zh) | 2007-09-13 | 2008-09-12 | 存储器***及其磨损平衡方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9229805B2 (zh) |
JP (1) | JP5296464B2 (zh) |
KR (1) | KR101413736B1 (zh) |
CN (1) | CN101458957B (zh) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI362044B (en) | 2007-11-09 | 2012-04-11 | Transcend Information Inc | Storage apparatus and method for accessing data and for managing memory block |
US20090217281A1 (en) * | 2008-02-22 | 2009-08-27 | John M Borkenhagen | Adaptable Redundant Bit Steering for DRAM Memory Failures |
US8843691B2 (en) * | 2008-06-25 | 2014-09-23 | Stec, Inc. | Prioritized erasure of data blocks in a flash storage device |
KR100974954B1 (ko) * | 2008-06-26 | 2010-08-10 | 에스디씨마이크로 주식회사 | 플래시 메모리를 이용한 저장장치에서의 읽기 웨어 레벨링방법 |
TWI364661B (en) * | 2008-09-25 | 2012-05-21 | Silicon Motion Inc | Access methods for a flash memory and memory devices |
US9063874B2 (en) * | 2008-11-10 | 2015-06-23 | SanDisk Technologies, Inc. | Apparatus, system, and method for wear management |
US9170897B2 (en) | 2012-05-29 | 2015-10-27 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing solid-state storage reliability |
US20100125696A1 (en) * | 2008-11-17 | 2010-05-20 | Prasanth Kumar | Memory Controller For Controlling The Wear In A Non-volatile Memory Device And A Method Of Operation Therefor |
US8458562B1 (en) * | 2008-12-30 | 2013-06-04 | Micron Technology, Inc. | Secondary memory element for non-volatile memory |
KR101038991B1 (ko) * | 2009-03-10 | 2011-06-03 | 주식회사 하이닉스반도체 | 메모리 영역의 균등한 사용을 위한 반도체 스토리지 시스템및 그 제어 방법 |
KR101594124B1 (ko) * | 2009-04-09 | 2016-02-16 | 삼성전자주식회사 | 비휘발성 램, 이를 포함하는 솔리드 스테이트 드라이브, 및 이를 포함하는 컴퓨터 시스템 |
US8370712B2 (en) | 2009-07-23 | 2013-02-05 | International Business Machines Corporation | Memory management in a non-volatile solid state memory device |
JP2011028537A (ja) | 2009-07-27 | 2011-02-10 | Buffalo Inc | 外部記憶装置へのアクセスを高速化する方法および外部記憶システム |
KR101097438B1 (ko) * | 2009-10-29 | 2011-12-23 | 주식회사 하이닉스반도체 | 웨어 레벨링을 유동적으로 제어하는 반도체 스토리지 시스템 및 그 제어 방법 |
KR101090394B1 (ko) * | 2009-12-24 | 2011-12-07 | 주식회사 하이닉스반도체 | 예비 영역을 유동적으로 관리하는 반도체 스토리지 시스템 및 그 제어 방법 |
JP2011198433A (ja) * | 2010-03-23 | 2011-10-06 | Toshiba Corp | メモリシステム |
US8713066B1 (en) | 2010-03-29 | 2014-04-29 | Western Digital Technologies, Inc. | Managing wear leveling and garbage collection operations in a solid-state memory using linked lists |
US8612804B1 (en) | 2010-09-30 | 2013-12-17 | Western Digital Technologies, Inc. | System and method for improving wear-leveling performance in solid-state memory |
JP2012155806A (ja) | 2011-01-28 | 2012-08-16 | Toshiba Corp | 不揮発性半導体記憶装置 |
US8898373B1 (en) | 2011-06-29 | 2014-11-25 | Western Digital Technologies, Inc. | System and method for improving wear-leveling performance in solid-state memory |
CN103077096A (zh) * | 2012-12-31 | 2013-05-01 | 记忆科技(深圳)有限公司 | 数据纠错***、固态硬盘及数据纠错方法 |
CN103092770B (zh) * | 2013-01-18 | 2015-08-12 | 山东华芯半导体有限公司 | 一种磨损均衡处理时减少内存开销的方法 |
US10417123B1 (en) | 2013-05-16 | 2019-09-17 | Western Digital Technologies, Inc. | Systems and methods for improving garbage collection and wear leveling performance in data storage systems |
US9477546B2 (en) * | 2013-06-21 | 2016-10-25 | Marvell World Trade Ltd. | Methods and apparatus for optimizing lifespan of a storage device |
KR102085127B1 (ko) * | 2013-11-13 | 2020-04-14 | 삼성전자주식회사 | 메모리 컨트롤러의 구동 방법 및 메모리 컨트롤러에 의해서 제어되는 비휘발성 메모리 장치 |
US9082512B1 (en) * | 2014-08-07 | 2015-07-14 | Pure Storage, Inc. | Die-level monitoring in a storage cluster |
US10552043B2 (en) * | 2014-09-09 | 2020-02-04 | Toshiba Memory Corporation | Memory system |
KR102513491B1 (ko) | 2015-07-15 | 2023-03-27 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
TWI575530B (zh) * | 2015-08-06 | 2017-03-21 | 慧榮科技股份有限公司 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置 |
US9646709B2 (en) * | 2015-09-11 | 2017-05-09 | Sandisk Technologies, Llc | Proxy wordline stress for read disturb detection |
KR102435181B1 (ko) * | 2015-11-16 | 2022-08-23 | 삼성전자주식회사 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10185666B2 (en) * | 2015-12-15 | 2019-01-22 | Facebook, Inc. | Item-wise simulation in a block cache where data eviction places data into comparable score in comparable section in the block cache |
TWI591635B (zh) * | 2016-02-05 | 2017-07-11 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 |
US9910606B2 (en) | 2016-03-23 | 2018-03-06 | Seagate Technology Llc | End of life extension of solid state memory |
US9672905B1 (en) | 2016-07-22 | 2017-06-06 | Pure Storage, Inc. | Optimize data protection layouts based on distributed flash wear leveling |
KR101909929B1 (ko) * | 2016-10-14 | 2018-10-19 | 한국외국어대학교 연구산학협력단 | 가상 낸드플래시 구현 방법 및 이를 기록한 컴퓨터 프로그램 |
US10482983B2 (en) * | 2016-12-22 | 2019-11-19 | Seagate Technology Llc | Read disturb detection based on dynamic bit error rate estimation |
KR20180102241A (ko) * | 2017-03-06 | 2018-09-17 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR102559549B1 (ko) * | 2018-09-12 | 2023-07-26 | 에스케이하이닉스 주식회사 | 메모리 시스템에서의 블록 상태를 관리하는 방법 및 장치 |
CN111897682A (zh) * | 2019-05-05 | 2020-11-06 | 北京兆易创新科技股份有限公司 | 一种测试结果记录方法、装置、电子设备及存储介质 |
CN110473583A (zh) * | 2019-08-15 | 2019-11-19 | 山东华芯半导体有限公司 | 一种NAND Flash的操作检测方法 |
US11275652B1 (en) * | 2020-09-01 | 2022-03-15 | EMC IP Holding Company LLC | Storing erasure coded data based on reliability of storage devices |
KR20220049397A (ko) * | 2020-10-14 | 2022-04-21 | 삼성전자주식회사 | 메모리 장치, 이를 포함하는 스토리지 장치 및 스토리지 장치의 동작 방법 |
CN112700813B (zh) * | 2020-12-25 | 2023-12-22 | 北京浪潮数据技术有限公司 | 一种基于磨损状态的nand控制方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5475693A (en) * | 1994-12-27 | 1995-12-12 | Intel Corporation | Error management processes for flash EEPROM memory arrays |
CN1118830C (zh) * | 1998-03-19 | 2003-08-20 | 日本电气株式会社 | 半导体存储器件及其检验与使用方法 |
JP2004280556A (ja) * | 2003-03-17 | 2004-10-07 | Renesas Technology Corp | 情報記憶装置および情報処理システム |
JP2006221334A (ja) * | 2005-02-09 | 2006-08-24 | Tdk Corp | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2708946B1 (fr) | 1993-08-11 | 1995-12-08 | Spie Fondations | Procédé de mise en place d'un joint d'étanchéité entre deux panneaux d'une paroi moulée et dispositif pour la mise en Óoeuvre de ce procédé. |
JP4081843B2 (ja) | 1998-03-25 | 2008-04-30 | 松下電器産業株式会社 | メモリ制御装置 |
JP3242890B2 (ja) | 1998-12-16 | 2001-12-25 | 株式会社ハギワラシスコム | 記憶装置 |
US20050204187A1 (en) * | 2004-03-11 | 2005-09-15 | Lee Charles C. | System and method for managing blocks in flash memory |
KR100644602B1 (ko) | 2000-10-11 | 2006-11-10 | 삼성전자주식회사 | 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조 |
JP2003308242A (ja) | 2002-04-16 | 2003-10-31 | Hitachi Ltd | 半導体記憶装置及びその制御方法 |
US6895464B2 (en) | 2002-06-03 | 2005-05-17 | Honeywell International Inc. | Flash memory management system and method utilizing multiple block list windows |
US7168010B2 (en) * | 2002-08-12 | 2007-01-23 | Intel Corporation | Various methods and apparatuses to track failing memory locations to enable implementations for invalidating repeatedly failing memory locations |
US7035967B2 (en) * | 2002-10-28 | 2006-04-25 | Sandisk Corporation | Maintaining an average erase count in a non-volatile storage system |
US8412879B2 (en) | 2002-10-28 | 2013-04-02 | Sandisk Technologies Inc. | Hybrid implementation for error correction codes within a non-volatile memory system |
KR100963855B1 (ko) | 2003-07-30 | 2010-06-16 | 샌디스크 아이엘 엘티디 | 불휘발성 메모리 디바이스에서 프로그래밍 데이터의 신뢰성및 성능을 최적화하는 방법 및 시스템 |
US7493534B2 (en) * | 2003-08-29 | 2009-02-17 | Hewlett-Packard Development Company, L.P. | Memory error ranking |
JP4357304B2 (ja) * | 2004-01-09 | 2009-11-04 | 株式会社バッファロー | 外部記憶装置 |
JP4261462B2 (ja) | 2004-11-05 | 2009-04-30 | 株式会社東芝 | 不揮発性メモリシステム |
KR100624973B1 (ko) | 2005-06-29 | 2006-09-15 | 박상원 | 플래시 메모리의 효율적인 소거 횟수 평준화방법(k-평준화) |
US7523013B2 (en) | 2006-05-15 | 2009-04-21 | Sandisk Corporation | Methods of end of life calculation for non-volatile memories |
US7506098B2 (en) * | 2006-06-08 | 2009-03-17 | Bitmicro Networks, Inc. | Optimized placement policy for solid state storage devices |
US8081187B2 (en) * | 2006-11-22 | 2011-12-20 | Autodesk, Inc. | Pencil strokes for vector based drawing elements |
WO2008077284A1 (en) | 2006-12-27 | 2008-07-03 | Intel Corporation | Initiative wear leveling for non-volatile memory |
US9063181B2 (en) * | 2006-12-29 | 2015-06-23 | Electro Industries/Gauge Tech | Memory management for an intelligent electronic device |
US7877666B2 (en) * | 2006-12-30 | 2011-01-25 | Intel Corporation | Tracking health of integrated circuit structures |
JP2008287404A (ja) | 2007-05-16 | 2008-11-27 | Hitachi Ltd | 読み出しによる非アクセスメモリセルのデータ破壊を検出及び回復する装置、及びその方法 |
JP5216244B2 (ja) | 2007-05-31 | 2013-06-19 | 株式会社東芝 | データリフレッシュ装置、及びデータリフレッシュ方法 |
US7765426B2 (en) * | 2007-06-07 | 2010-07-27 | Micron Technology, Inc. | Emerging bad block detection |
EP2191473A2 (en) | 2007-09-05 | 2010-06-02 | Rambus Inc. | Method and apparatus to repair defects in nonvolatile semiconductor memory devices |
US7849275B2 (en) * | 2007-11-19 | 2010-12-07 | Sandforce, Inc. | System, method and a computer program product for writing data to different storage devices based on write frequency |
-
2007
- 2007-09-13 KR KR1020070093173A patent/KR101413736B1/ko active IP Right Grant
-
2008
- 2008-09-04 US US12/230,769 patent/US9229805B2/en active Active
- 2008-09-10 JP JP2008232262A patent/JP5296464B2/ja active Active
- 2008-09-12 CN CN200810177883.8A patent/CN101458957B/zh active Active
-
2014
- 2014-05-09 US US14/273,901 patent/US9251015B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5475693A (en) * | 1994-12-27 | 1995-12-12 | Intel Corporation | Error management processes for flash EEPROM memory arrays |
CN1118830C (zh) * | 1998-03-19 | 2003-08-20 | 日本电气株式会社 | 半导体存储器件及其检验与使用方法 |
JP2004280556A (ja) * | 2003-03-17 | 2004-10-07 | Renesas Technology Corp | 情報記憶装置および情報処理システム |
JP2006221334A (ja) * | 2005-02-09 | 2006-08-24 | Tdk Corp | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US20140245109A1 (en) | 2014-08-28 |
CN101458957A (zh) | 2009-06-17 |
KR101413736B1 (ko) | 2014-07-02 |
JP5296464B2 (ja) | 2013-09-25 |
US9251015B2 (en) | 2016-02-02 |
US20090077429A1 (en) | 2009-03-19 |
JP2009070379A (ja) | 2009-04-02 |
US9229805B2 (en) | 2016-01-05 |
KR20090027952A (ko) | 2009-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101458957B (zh) | 存储器***及其磨损平衡方法 | |
US10891187B2 (en) | Memory devices having differently configured blocks of memory cells | |
US8775901B2 (en) | Data recovery for defective word lines during programming of non-volatile memory arrays | |
US9098428B2 (en) | Data recovery on cluster failures and ECC enhancements with code word interleaving | |
US7542350B2 (en) | Methods of restoring data in flash memory devices and related flash memory device memory systems | |
US8582360B2 (en) | Read method for nonvolatile memory device, and data storage system using the same | |
US9092363B2 (en) | Selection of data for redundancy calculation in three dimensional nonvolatile memory | |
CN105122215B (zh) | 三维存储器的适应性操作 | |
CN106158040B (zh) | 读取电压准位估测方法、存储器存储装置及控制电路单元 | |
US9136022B2 (en) | Selection of data for redundancy calculation by likely error rate | |
JP2006114078A (ja) | 不揮発性半導体記憶装置及びその動作方法 | |
US8964467B1 (en) | Systems and methods for partial page programming of multi level cells | |
US9384839B2 (en) | Write sequence providing write abort protection | |
TW201511024A (zh) | 在三維非揮發性記憶體中之有效後寫入讀取 | |
US11735253B2 (en) | Apparatus and methods for programming memory cells responsive to an indication of age of the memory cells | |
TWI602055B (zh) | 半導體儲存裝置及其編程方法 | |
JP2020009513A (ja) | メモリシステム | |
JP3576686B2 (ja) | 不揮発性半導体記憶装置 |
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 |