CN1551243A - 管理闪存中的不良存储块的装置和方法 - Google Patents

管理闪存中的不良存储块的装置和方法 Download PDF

Info

Publication number
CN1551243A
CN1551243A CNA2004100430646A CN200410043064A CN1551243A CN 1551243 A CN1551243 A CN 1551243A CN A2004100430646 A CNA2004100430646 A CN A2004100430646A CN 200410043064 A CN200410043064 A CN 200410043064A CN 1551243 A CN1551243 A CN 1551243A
Authority
CN
China
Prior art keywords
piece
block
bad blocks
mapping page
flash memory
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
CNA2004100430646A
Other languages
English (en)
Other versions
CN100407337C (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1551243A publication Critical patent/CN1551243A/zh
Application granted granted Critical
Publication of CN100407337C publication Critical patent/CN100407337C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • G11C29/765Masking faults in memories by using spares or by reconfiguring using address translation or modifications in solid state disks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/816Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
    • G11C29/82Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for EEPROMs

Abstract

一种管理使用闪存时产生的不良存储块的方法和装置。一种管理闪存中的不良存储块的方法,包括(a)在闪存中分配包括多个使用块的使用区和包括多个备用块的备用区,和提供一个包括多个块映射页的块映射页组,块映射页中安置有将在使用区或备用区中产生的不良存储块映射为一备用块的映射信息;(b)使块映射页的映射信息驻留在主存储器中;和(c)将在快闪操作中产生的不良存储块映射到通过映射信息找到的未使用的备用块,更新映射信息,并在块映射页中记录该更新的映射信息。

Description

管理闪存中的不良存储块的装置和方法
本申请要求分别在2003年4月4日和9月9日在韩国知识产权局申请的韩国专利申请第10-2003-0021502和10-2003-0063342号的优先权,它们的内容在这里引用作为参考。
技术领域
与本发明相关的装置和方法涉及管理使用闪存时产生的不良存储块。本发明尤其涉及管理闪存中的不良存储块,从而将快闪操作减小到最少的方法。进而,本发明指出一种通过建立闪存的某些区域为保护区并管理该保护区,来保护存储在闪存中的重要信息不被未经验证的快闪应用程序进行的未经授权的快闪操作的方法和装置。
背景技术
闪存是用于在其中保存数据的器件,比如RAM(随机存取存储器),ROM(只读存储器)或硬盘。闪存具有多个块并以块为基础执行擦除操作。
闪存的每个块受到其上数据能被擦除的次数的限制。因此,如果在工厂生产时,闪存的一个块已被擦除的次数超出预定的擦除限制次数,该相关块就变得不良。另外,具有差的物理特性的块的擦除次数达到限定的擦除次数时,该块就变得不良。象NAND(与非)闪存这样的闪存可能带着一些不良存储块被制造出来。考虑到这一点,制造商指导用户如何找到其中的不良存储块。当在闪存的一个块上执行读操作时,可能读出与先前写入到闪存该块中的数据不同的数据,这时,该块也变得不良。使用闪存时,这些不良存储块可能从所有块中产生,或者甚至在使用闪存之前,不良存储块就可能已经存在。不良存储块的存在可能引起使用闪存时的麻烦。
为了管理不良存储块,需要不良存储块的管理信息。该管理信息可以单独保存在如RAM或EEPROM的存储器中。但是,当管理信息保存在RAM中时,如果电源暂停或中断,保存在RAM中的信息可能整个丢失。当管理信息保存在象EEPROM的单独的存储器中时,这增加了构成一个系统的成本,并且该系统因此复杂了。
为了解决这些问题,US专利第6,260,156号公开了一种管理闪存系统中的不良存储块的方法,其中闪存中的某些区域分配用于管理不良存储块。
图1是说明用于不良存储块管理的基本单元的组块(chunk)结构的框图。参照现有技术,闪存区域分为数据区和备用区,其中数据区用于写入和擦除实际数据,备用区在产生不良存储块时用于管理它们,它们分在多个组块中。图1所示的组块包括(y+1)个备用块(#0到#y)。在每个组块中,原始组块映射保存在存储地址较高的空间,复制组块映射保存在每个备用块中。在RAM、易失存储器中存在工作组块映射。
图2说明了放大的备用块#0,以示出组块的全部结构。参照该图,闪存中的原始组块映射和复制组块映射,和RAM中的工作组块映射都具有相同的数据结构。首先,管理不良存储块的元信息,例如块的总数量、组块映射的大小或组块映射状态等存储在不良块管理首标(BBM首标)中。(y+1)个备用块就有(y+1)个BBM条目(entry),BBM条目包括有效区域和不良数据块号。一个条目中存储将一个不良存储块映射到备用块以代替不良数据块的信息。例如,如果条目#7中的不良存储块号是10,这表示标号为10的不良存储块再映射到第n组块的备用块#7。
传统的映射按照如下步骤操作。通过格式化不良存储块管理器、格式化组块和组块的设置(mount)来初始化不良存储块管理器。组块已经设置好时,不良存储块管理器的初始化完成。组块设置时,读出闪存的复制组块映射和原始组块映射,并且在RAM上产生工作组块映射。这时,闪存中保持复制组块映射和原始组块映射,从而不管在各种操作过程中产生任何错误数据,数据都能够恢复。当完成不良存储块管理器的初始化时,组块处于准备好状态。为了找到特定块,检查是否有每个组块请求的块存在于一个条目中,如果存在这样的块,执行再映射。发现新的不良存储块时,为了简化算法,首先找到一个可获得但未使用的条目,读出包含该条目的组块映射,并把它写入工作组块映射。接着,新的映射信息写入到未使用的条目,从其中找到工作组块映射。随后,变化的再映射信息记录在闪存的原始组块映射和复制组块映射中。
上述传统的映射技术在闪存中执行几次写入和擦除操作,从而保持闪存的复制组块映射和原始组块映射与RAM中的工作组块映射之间的一致性。
例如,当涉及执行时间中的新的不良存储块产生时,需要如下的操作。
1.一个擦除原始组块映射块的擦除操作,
2.一个在原始组块映射块写入原始组块映射的写入操作,
3.一个写入原始组块映射块的状态为“无效”的写入操作,
4.一个擦除复制组块映射块的擦除操作,
5.一个在复制组块映射块上写入复制组块映射的写入操作,
6.一个写入原始组块映射块的状态为“有效”的写入操作。
在闪存中执行两次擦除操作和四次写入操作。而且,由于不良存储块和备用块的映射信息都存储在多个组块中,应当执行设置每个组块的复杂算法来管理不良存储块并保持组块中存在的组块映射之间的一致性。从这一点来看,尽管产生涉及执行时间中的不良存储块,不增加快闪操作次数也是必须的。
闪存通常用作只对数据的存储器件,但是近期已经扩展到存储需要被保护的诸如操作系统(OS)ROM图像或引导装入程序这样的数据。由于诸如OS ROM图像或引导装入程序的数据在系统操作中有重要作用,需要保护对包含该数据的区域不进行由于闪存相关的软件的未经验证的操作或用户的错误而产生的擦除或写入操作。换句话说,闪存的某些区域需要设置为只读区域来进行管理。甚至对建立了只读区的闪存也需要一种方法来替换在该区域已经产生或即将产生的不良存储块。考虑到这一点,也需要设置新的块来替换作为只读块的不良存储块并管理它们。
发明内容
为了达到上述需要,构思了本发明。本发明的一方面是提供一种当产生不良存储区时,用少量的快闪操作管理闪存中的不良存储区的方法和装置。
本发明的另一方面在于提供一种管理作为保护区域的闪存中的某些区域,从而防止闪存中的某些区域由涉及闪存的软件的未经验证的操作而改变的方法和装置。
本发明的又另一方面是一种用于尽管某些区域作为只读区域而在被保护之下时,管理在闪存中该某些区域产生的不良存储块的方法和装置。
根据本发明的示例的实施例,有一种管理闪存中的不良存储块的方法,包括:(a)对闪存分配包括多个使用块的使用区和包括多个备用块的备用区,和提供一个包括多个块映射页的块映射页组,块映射页中安置有将在使用区或备用块中产生的不良存储块映射为一备用块以替代它的映射信息;,(b)使通过预定规则选择的、属于块映射页组的块映射页的映射信息驻留在主存储器中作为驻留映射信息;和(c)将在快闪操作中产生的不良存储块映射到通过驻留映射信息找到的未使用的备用块,更新驻留映射信息,并在属于该块映射页组的块映射页中记录该更新的映射信息。
步骤(a)可以包括:(a1)在闪存中分配所述包括多个使用块的使用区和包括多个备用块的备用区;(a2)在每个备用块上产生块映射字段,其中所产生的备用块和不良存储块之间的映射信息将被产生,并初始化块映射信息,块映射信息包含产生的块映射字段、用于确定映射信息时间的计数字段和用于确定块映射字段信息的有效性的转换字段;(a3)通过记录检查闪存中存在的不良存储块找到的不良存储块和将替换找到的不良存储块的备用块的映射信息来产生块映射信息,并在计数字段上初始设置映射信息;和(a4)在属于块映射页组的任一个块映射页上记录块映射信息。
在示例性实施例中,块映射页组可以包括备用区中的至少两个备用块,闪存可以包括多个芯片,在每个芯片上执行每一步骤。在步骤(a),至少一部分使用块和备用块可以被指定为保护区,从而阻碍未经验证的软件访问该保护区。
在步骤(b),可以在块映射页组内的块映射页之间检查具有有效的最新信息写入块页的有效块映射页,并且该找到的块映射页的映射信息驻留在闪存中。当检查最新信息写入块映射页时,根据记录在每个块映射页的转换字段中的值和记录在计数字段上的数的大小进行检查。该方法还包括恢复以预定的方法发现的读出的不良存储块,其中发现用读出错误表示的无效块映射页,同时在属于块映射页组的块映射页中,检查包括最新块映射页的有效块映射页。当闪存包含多个芯片时,在每个芯片上执行每一步骤。
步骤(c)可以包括:(c1)通过使用驻留的映射信息定位未使用的备用块;(c2)通过映射步骤(c1)找到的未使用备用块的号与不良存储块的号,更新驻留的映射信息,作为更新的映射信息;(c3)定位块映射页组中的未使用的块映射页,作为找到的未使用备用块;(c4)在找到的未使用备用块中复制在产生的不良块上记录的信息;(c5)记录包括有关找到的未使用的块映射页的更新的映射信息的信息;和(c6)指示该未使用块映射页有效。该方法还包括当步骤(c6)完成后,当在保护区产生不良存储块并且再次把保护区改为只读状态时,改变保护区域为可读并可写的状态。在示例性实施例中,当闪存包括多个芯片时,对每个芯片上执行每个步骤。
步骤(c)可以包括(c1)确定步骤(c)产生的不良存储块是否是读出的不良存储块,(c2)擦除临时使用的备用块,以恢复读出的不良存储块,(c3)校正读出的不良存储块的错误,并接着复制该读出的不良存储块到备用块,(c4)在块映射页组中定位未使用的块映射页,(c5)在找到的块映射页上指示读出的不良存储块和备用块之间的映射信息正从读出错误中恢复,(c6)擦除读出的不良存储块,(c7)在擦除的读出不良存储块上复制备用块,和(c8)在找到的块映射页上指示找到的块映射页无效。步骤(c8)完成后,当保护区中产生不良存储块并且保护区再次变为只读状态时,保护区可以变为可读并可写状态。
根据本发明的另一个示例性的实施例,提供一种管理闪存中的不良存储块的装置,闪存中有至少一个或一个以上的闪存芯片,该装置包括闪存,具有包括多个使用块的使用区和替换使用时产生的不良存储块的备用区,并在备用区有具有多个块映射页的块映射页组,其中使用时产生的不良存储块和将替换它的备用块之间的映射信息,存储器,装有一个快闪器件管理器,它确定块映射页组中现存的最新的有效块映射页的映射信息,和产生不良存储块时处理不良存储块的过程,和中央处理单元(CPU),与闪存和存储器电互相连接,通过读出快闪器件管理器的代码,管理闪存的不良存储块中的快闪操作。块映射页组可以包括至少两个或两个以上的备用块。
该装置还可以包括一个闪存控制器,电连接于CPU和闪存之间,具有两个或两个以上缓冲器,用于在CPU进行当前的快闪操作时存储对闪存下一个操作的数据。闪存控制器可以建立闪存的预定区域为保护区,并允许只对于快闪器件管理器经过验证的快闪应用程序在保护区进行快闪操作,对于快闪器件管理器未验证的快闪应用程序,不允许在保护区进行快闪操作。并且当闪存包括多个闪存芯片时,使用区、备用区和闪存的备用区内的块映射页组存在于每个闪存芯片中。
附图说明
通过下文中与附图结合给出的示例性实施例的说明,本发明的上述和其他方面、特点和优点将变得明显,其中:
图1是说明作为管理不良存储块的基础单元的一个组块的结构的框图;
图2是说明图1的组块映射的全部结构的框图;
图3是示意性说明根据本发明的示例性实施例的系统的部件的框图;
图4是说明图3中系统的操作的框图;
图5是说明具有(k+1)个芯片的闪存的框图;
图6是说明分为t个使用区和一个备用区的闪存芯片的结构的框图;
图7是说明包括保护区和未保护区的闪存的芯片的框图;
图8是说明整个区域没有保护的闪存芯片的框图,;
图9是说明分为y块的分区的结构的框图;
图10是说明包括保护区和未保护区的备用区的框图;
图11是说明整个备用区未保护的备用区结构的框图;
图12是说明整个区域被保护的备用区结构的框图;
图13是说明块映射页块的整个结构的框图;
图14是说明用于管理闪存的快闪器件管理器的操作的流程图;
图15是说明全部格式化备用区的流程图;
图16是详细说明备用区格式化处理中芯片的备用区格式化的流程图;
图17是详细说明RAM中驻留块映射信息的流程图;
图18是更详细说明为芯片的驻留块映射信息的流程图;
图19是说明用纠错码恢复芯片#t的写入不良块的流程图;
图20是更详细说明不良存储块的处理的流程图;
图21是更详细说明读出不良存储块的处理的流程图;和
图22是更详细说明处理写入和擦除不良存储块的流程图。
具体实施方式
在下文中更详细的说明和附图中结合了本发明的其他示例性实施例和实现它们的任意方法的其他特征和优点。但是,本发明将不限于这里描述的示例性实施例。下文中,本发明的示例性实施例将参照附图详细地说明。
图3是示意性说明根据本发明的示例性实施例的一个系统的部件的框图,图4是说明图3中系统的操作的框图。
根据本发明示例性实施例的系统包括闪存100、闪存控制器200、中央处理单元(CPU)300和XIP(内部可执行(execute-in-place))存储器400。能够进行XIP的存储器400指能够象RAM一样执行其中软件的存储器(下文称为“主存储器”)。
CPU 300能够通过使用驻留于主存储器400中的快闪应用程序410和快闪器件管理器420在闪存100中写入读出或擦除任意必须的信息(下文称为“快闪操作”),并且擦除操作以块为基础进行。
在具有如图3所示的闪存控制器200的系统中,快闪应用程序410通过闪存控制器200访问闪存100。当前闪存100中,写入操作的速度比读出操作的速度慢大约20倍到1000倍。闪存控制器200能够增加写入或读出操作的速度。为了增加速度,两个或两个以上的用于写或读操作的缓冲器置于闪存控制器200中。当CPU 300通过闪存控制器200的一个缓冲器输入数据或输出数据时,闪存控制器200通过另一个缓冲器输出或输入数据到闪存100中,从而允许闪存控制器200增加从CPU 300向闪存100的数据输入/输出速度。
当快闪应用程序410通过闪存控制器200使用闪存100时,闪存控制器200设置闪存100的某个区域为只读区域,从而能够保护数据不受快闪应用程序410中未经验证的快闪操作或无意的快闪操作的影响。为了使用只读区,闪存控制器200确认快闪应用程序412是否被验证,并只有由闪存控制器200确认经验证的快闪应用程序412才获准进入闪存100的只读区,接着进行写入和擦除操作。由于未经闪存控制器200确认的未经验证的闪存应用程序414不获准进入只读区,因此它不能进行写入和擦除操作。
对于象NAND闪存这样能够通过I/O总线接口受控、或把其连接到CPU300的存储器总线接口的闪存是不容易控制的。因此,闪存控制器200插入在每个具有I/O总线接口的闪存和CPU 300之间,以便帮助不同的总线接口互相连接,从而使使用闪存100变得容易。闪存控制器200提供包括闪存100的作为只读区的某个区域的管理或快闪操作能力的增强的几个功能。但是,无需闪存控制器200,只用CPU 300、主存储器400和闪存100可以实现该系统。
快闪器件管理器420和快闪应用程序410可以驻留于主存储器400中。快闪器件管理器420是确定对驻留于主存储器400中的快闪应用程序410使用闪存100时产生的不良存储块进行管理的所有处理的软件模块,并且它通过允许CPU 300执行快闪器件管理器420的代码来管理不良存储块。快闪应用程序410可以分为经过验证的快闪应用程序412和未经验证的快闪应用程序414。经过验证的快闪应用程序412是一个上层,它使用快闪器件管理器420,不作出故意破坏闪存内的数据的未经授权的操作。快闪应用程序412可以包括引导装入程序、快闪转换(translation)层,文件系统等。未经验证的快闪应用程序414可以包括由黑客等为了使系统异常运行而创建的病毒程序或黑客程序等,以执行未授权的操作而故意破坏闪存的数据。快闪器件管理器420授权经过验证的快闪应用程序412使用闪存100。
图4说明了半物理地址(semi-physical address)和插入在快闪器件管理器420和闪存控制器200之间的物理地址之间的关系。经过验证的快闪应用程序412要求快闪器件管理器420在半物理地址区域进行快闪操作,接着快闪器件管理器420把半物理地址转换为物理地址,并在闪存控制器100中的物理地址区域上进行快闪操作。半物理地址和物理地址可以用(块号*块大小+块的偏移)表示。块的偏移等于或大于0并小于块的大小。
在半物理地址中,块号总是指使用区110中所使用的块号中的一个。但是,在物理地址中,当使用区120中的使用块之一是不良存储块时,块号可以指备用区中备用块号中的一个。在大多数情况下,半物理地址和物理地址相同,但是当一些使用块是不良存储块时,它们可以不同。
未经验证的快闪应用程序414可以不通过快闪器件管理器420进入闪存控制器200。但是,当未经验证的快闪应用程序414想要在保护区130上进行快闪操作时,闪存控制器200校验未经验证的快闪应用程序414是否是经过验证的应用程序。因为它是未经验证的应用程序,所以不允许未经验证的快闪应用程序414进行快闪操作。
图5是说明由(k+1)个芯片构成的快闪存储器的框图。闪存100能够用(k+1)个闪存芯片实现,其中每个存储器芯片可以具有使用区110和用于不良存储块管理的备用区。在本发明的实施例中,用于不良存储块管理的备用区可以在一个或多个特定芯片中聚集,例如,芯片#0,芯片#1或芯片3。在本发明的其他实施例中,每个芯片给出一个备用区120,从而每次快闪操作检查不良存储块存在或不存在的范围限于一个芯片,从而增强快闪操作的执行。备用区120的大小确定为每个芯片可能产生的不良存储块的最大数和管理不良存储块所需的块数相加的值。备用区120需要的块数将按如下方式确定。
图6是说明分为t个使用区和一个备用区的闪存芯片的结构的框图。为了在闪存中存储引导装入程序图像、OS ROM图像或文件系统数据,闪存可以被分为多个区域分别使用,分开的区域称为一个分区。每个分区具有一个分区管理软件,每个分区管理软件通过快闪器件管理器420全面管理可能在它自己的分区中产生的不良存储块。分区管理软件是经过验证的快闪应用程序412,它可以包括引导装入程序、OS、文件系统等。尽管任何相关芯片的较低地址分配给使用区110,备用区120分配到使用区110不使用的地方,但是这个分配使用区和备用区的顺序可以颠倒过来。这时,使用区110可以分为t个分区。分区数和分区的大小可以根据存储在闪存中的信息的种类和数量确定。
图7是说明包括保护区和未保护区的闪存芯片的框图。如果闪存的某个区域能够在闪存100中自然地或由通过闪存控制器200设为只读区(保护区),如图7所示的相关芯片的使用区110和备用区120可以分为保护区130和未保护区140。在保护区130中,只允许经验证的快闪应用程序412进行快闪操作,不允许未经验证的快闪应用程序414进行快闪操作。即,保护区130是记录诸如OS ROM图像或引导装入程序的将特别保护的数据的区域。要访问保护区130,快闪应用程序必须通过它的验证过程。快闪应用程序是否经过验证的确定可以根据用于验证的任意特定代码的存在做出。换句话说,对于具有特定代码的快闪应用程序,快闪器件管理器420能够请求闪存控制器200允许快闪应用程序进行访问。另外,这种验证可通过几种不同方法实现。未保护区140指允许快闪应用程序410读出、写入和擦除数据的区域。图7所示的未保护区140可以延伸以覆盖使用区110的一部分和备用区120的一部分。较低地址连续分配给保护的使用区、未保护的使用区、未保护的备用区和保护的备用区。该顺序可以颠倒过来。
图8是说明整个区域没有保护的闪存的一个芯片的框图。当没有数据为了诸如OS ROM图像或引导装入程序的特殊的目的而被保护时,整个区域可以设置为未保护区140。这时,允许对其中的所有的分区进行快闪操作。
图9是说明分割为y块的分区结构的框图。块是闪存中用于擦除操作的一个单元。如果一块中任意位有错误,该相关块成为不良存储块。不良存储块可以在使用区110,也可以在备用区120产生。
图10是说明包括保护区和未保护区的备用区的框图。参照该图,备用区120总共包括(m+n)个备用块,这由将替换未保护区140中的不良存储块的m个备用块154和替换保护区130中的不良存储块的n个备用块相加计算得出,未保护或保护的块映射页组150或158包含有关将映射在使用区110或备用区120中的不良存储块到未保护或保护的备用块154或155以替换它们的信息,转换(transfer)块152是一个单独的备用块,它用来管理读出操作中的任何错误,分区信息块156包含分区信息。n和m的大小能够固定,但是它们也可以改变。例如,当m和n的和是100时,如果在保护块中没有产生错误,在未保护块中连续产生100次错误,则m等于100,n等于0。
概念上,块映射页组包括未保护块映射页组150和保护块映射页组158,其中未保护块映射页组150包含有关将在使用区110和备用区120中未保护区140的不良存储块映射到备用块154以替换它们的信息,保护块映射页组158包含有关将使用区110和备用区120中保护区130的不良存储块映射到备用块155以替换它们的信息。在示例性实施例中,未保护块映射页组150和保护块映射页组158分别有两块,它们将在下面说明。不需区别未保护块映射页组150和保护块映射页组158,可以使用单个块映射页组。在这种情况下,块映射页组在示例性实施例中也包括两个块。
分区信息块156是包含芯片的分区信息的块,因此,当分区信息不存储在闪存中时,分区信息块156将不分配给备用块120。
转换块152是用于恢复产生读出错误的任意块的块。当闪存中产生读出错误时,作出擦除操作后闪存能够再使用。所以,转换块可以用于对产生读出错误的块再使用。在把读出错误与写入错误和擦除错误一样处理时,在读出错误中产生的不良存储块能够用备用块替换,这时,不需要转换块152。
块映射页组150或158、转换块152和分区信息块146应当分配给有效块,而不是不良存储块。通常,现在市场上能获得的闪存能够执行10,000到100,000次擦除操作,快闪芯片的总块数接近小于10,000。使用闪存时可能产生的不良存储块与总块数的百分比是百分之几。当产生任意不良块时,能够在块映射页组150或158中或转换块152中进行擦除操作。这时,擦除操作的总数可以等于或小于闪存中可能产生的不良存储块的数量。为此,分配给块映射页组150或158或转换块152的块成为不良存储块的可能性很小,因此,初始分配块映射页组150或158、转换块152或分区信息块156为有效块,而不是不良存储块以提供用于其中的任意错误就足够了。
图11是说明整个区域没有保护的备用区的结构的框图。这种情况下,管使用闪存过程中产生错误,当闪存的容量保证在最大值时,n等于0,m等于不良存储块的最大值。图12是说明整个区域进行了保护的备用区结构的框图。图12中,使用区110是保护区130,尽管使用闪存过程中产生错误,当闪存的容量保证在最大值时,其中m等于0,n等于不良存储块的最大值。
图13是说明块映射页组150或158的全部结构的框图。块映射页组包括q个块映射页160,每个块映射页有(m+n)个块映射字段161,其数量等于备用块154或155,它包括不良存储块号166和替换不良存储块的备用块号167。即,块映射页160包含把不良存储块映射到备用块来替换它们的映射信息。块映射页160也包括计数字段163,用于确定块映射页160本身是否被最后写入,和转换字段165,用于识别由它本身持有的块映射字段信息161有效、无效还是没有用。在一个示例性的实施例中,最后的写入块映射页160在具有有效指示的块映射页160中的计数字段163上有写入的最大数,块映射信息170指装到例如RAM的主存储器上的块映射页160。下面将说明通过块映射信息170更新块映射页组。根据本发明的一个示例性的实施例,不良存储块号166和备用块号167都包括两个(2)字节,当前市场上能获得的闪存包含有总计不到10,000个块,由于2字节能够具有0到65535的数字,所以这一数量就足够了。根据本发明的一个示例性实施例,计数字段153也有两个(2)字节,并且当前市场上能获得的闪存包含有不到10,000个块。闪存使用时有可能产生的不良块与总块数的百分比是百分之几,由于2字节能够具有0到65535的数字,所以其总数是足够的。
图3的主存储器400中的快闪应用程序中,经过验证的快闪应用程序412把半物理地址传递到快闪器件管理器420,从而访问使用区110的某个使用块,并且快闪器件管理器420找到具有与半物理地址匹配的物理地址的块。这时,为了防止任何不良存储块被使用,如果在包含最新不良块信息的块页160中的块映射信息170中登记的块映射字段161的使用块号,与不良存储块号166相同,使用备用块号167的备用块来替换不良存储块号的不良存储块。
图14是说明闪存的快闪器件管理器的操作的流程图。图15和16是更详细说明备用区的格式化的流程图,图17、18、19是更详细说明RAM中驻留的块映射信息的流程图,图20、21和22是更详细说明不良存储块的处理的流程图。
首先,闪存的整个区域设置为可读并可写(S90),接着进行备用区格式化处理,从而把闪存区域分为使用区和备用区,并在备用区建立块映射页组(S100)。可以要求S90和S100只在一个初始阶段。将参照图15和16说明备用区格式化处理(S100)。
在备用区格式化处理(S100)中,快闪芯片号t初始为0(S110)。执行芯片t(t=0)的备用区格式化(S130)后,快闪器件管理器检查它是否是最后一个芯片(S170)。如果它不是最后一个芯片,快闪器件管理器使快闪芯片号增加1(S120),并执行下一个芯片的格式化。所有芯片格式化以后,备用区格式化终止。
为了格式化芯片t的备用区(S130),芯片的某个区域首先分配为使用区,而其他区分配为芯片t的备用区,用于替代使用闪存时产生的不良存储块(S132)。将分配给备用区的块数由使用闪存时可能产生的不良块的最大数和管理产生的不良存储块的块数的求和产生。前者是分配的备用块集合数,后者可以对应于块映射页组的块数、转换块数和分区信息块数的和。管理不良存储块的块数(numeral)按以下方式进行分配。在芯片分为保护区和未保护区时,两个块分别分配给保护块映射页组和未保护块映射页组。在芯片被用为之具有未保护区时,两个块都只分配给未保护块映射页组。下面将说明两个块分给每个块映射页组的原因。
在分区信息存储在芯片中时,可以分配一个分区信息块。而且,产生读出错误的块用备用块代替时,再次使用该块,并且需要为此分配一个转换块。以下表格表示总块数。
             表1    分配用来管理不良存储块的总块数
支持未保护/保护区 支持未保护区 支持转换块 支持分区信息块 分配的总块数
    0     0     0     6
    0     0     5
    0     0     5
    0     4
    0     0     0     4
    0     0     3
    0     0     3
    0     2
当芯片t的备用区分配完成时(S132),接着初始化芯片t的块映射信息(S134)。每个芯片的块映射信息包含在图1的主存储器400中驻留的快闪器件管理器中,基本包括与在每个芯片的块映射页组中存储的最新块映射页相同的信息。当闪存第一次使用时,初始化块映射信息,从而产生块映射信息。芯片t的块映射信息的初始化(S134)意味着块映射信息大小的确定和每个字段特定值的初始化。块映射信息的大小可以由转换字段165的大小、计数字段163的大小和块映射字段的大小相加来确定,接着把结果乘以备用块数{(转换字段大小+计数字段大小+块映射字段大小)*备用块数}。考虑到每个字段的初始值,转换字段165为有效指示值,计数字段163初始值为1,这表示已经首先记录了块映射信息。为了初始化块映射字段161的不良存储块号166和备用块号167,能够用不良存储块号155和备用块号167表示的最大值记录为每个块映射字段161的不良存储块号166和备用块号,从而使所有块映射字段161变为未使用块映射字段。在本发明的一个示例性的实施例中,用于记录不良存储块号166和备用块号167的空间有两个字节,因为当前市场上能获得的闪存的总块数小于10,000。即,每个块号(166或167)的最大值是65,545,这对表示未使用块数已经足够了。
当芯片t的块映射信息初始化(S134)时,芯片t的块映射信息在此基础上产生(S136)。为了产生块映射信息,应当检查是否有任何不良存储块存在于芯片t的最低到最高地址中。一旦找到任何不良存储块,未使用块映射字段从芯片t的块映射字段找到。接着未使用块映射字段的不良存储块号166和备用块号167分别被写入找到的不良存储块号和替换找到的不良存储块的备用块号。为了找到未使用块映射字段,检查该块映射字段161到第(m+n)个块映射字段161,检查期间第一个找到的未使用块映射字段取做未使用块映射字段。
在闪存分为保护区和未保护区时,可以产生每个区的块映射信息(即,保护块映射信息和未保护块映射信息),但是只能产生一个块映射信息。如果块映射页组以整体的方式使用,尽管闪存分为保护区和未保护区,也能够产生一个块映射信息。
产生的块映射信息记录在芯片t的备用区的块映射页组上(S138)。为了记录,在属于块映射页组的所有块上进行擦除操作,接着芯片t的块映射信息记录在具有块映射页组的最低地址的块映射页上。
备用区格式化处理完成后(S100),块映射信息驻留于主存储器中(S200)。如果不是第一次使用闪存,每个芯片的块映射信息检查来自每个芯片的最新块映射页,并把它们驻留在主存储器中,从而具有与最终记录的每个芯片的块映射页中的信息相同的信息。
下面将参照图17、18和19说明怎样使块映射信息驻留在主存储器中。快闪芯片号t首先初始化为0(S210),芯片t的最新块映射信息变成驻留在主存储器中(S230)。接着,确定相关芯片是否是最后一个芯片(S270)。如果不是最后一个芯片,快闪芯片号增加1。以这种方式,重复该处理直到最后的芯片的块映射信息变成驻留在主存储器中为止。
为了把芯片t的块映射信息驻留在主存储器中(S230),0首先记录在芯片t的块映射信息的计数字段,从而初始化计数字段(S232)。第一块映射页从芯片t的块映射页组中读出(S234)。检查读出的块映射页的有效性(S238)。如果是有效块映射页,芯片t的块映射信息的计数与读出的块映射页计数相比较(S240)。当芯片t的块映射信息的计数较小时,表示该读出块映射页的信息比芯片t的块映射信息更新。这样,读出的块映射页被复制到芯片t的块映射信息,从而用较新的信息更新芯片t的块映射信息(S242)。如果读出块映射页是最后的(S244),存储在芯片t的块映射信息的信息是最新的块映射信息,则它变成驻留主存储器中。如果读出块映射页不是最后的块映射页,芯片t的下一个块映射页被读出,以便找到较新的块映射页的存在(S236)。接着,重复上述过程。在检查芯片t的块映射页是否有效的步骤(S238)中,如果无效,忽略该块映射页并读出芯片t的下一个块映射页(S236)。接着重复上述过程。当读出错误与写入或擦除错误处理不同时,加入管理读出错误的步骤(S246,S250和S260)。在有效块映射页检查(S238)中,如果块映射页用“具有读出错误的不良存储块恢复中”进行标记(S246),恢复读出错误(S250)并且该块映射页上的读出错误标记被无效(S260)。接着,读出下一个块映射页(S236)。但是,当它不是有效块映射页也不是读出错误时,该块映射页无效,因此接着读出下一个块映射页。读出下一个块映射页(S236),并接着重复上述步骤(S238到S244)。将参照图19更详细地说明引起读出错误的不良存储块的恢复。
首先擦除已经引起读出错误的芯片t中的不良存储块(S252)。当电源恢复时,在主存储器中驻留块映射信息的过程中可能找到读出错误,其中标记了“具有读出错误的不良存储块恢复中”后,但电源突然中断,具有读出错误的不良存储块已经在恢复中。在擦除具有读出错误的不良存储块后(S252),芯片t的转换块被复制在具有读出错误的不良存储块上(S254),无效标记应用到该找到的块映射页(S256)。接着芯片t的保护区变为只读状态(S258)。
如果块映射信息驻留于主存储器中(S200),闪存的保护区设成只读区,从而闪处于产生快闪操作的准备好状态(S300)。图3中主存储器400的快闪应用程序410把半物理地址传递到快闪器件管理器,从而作出使用区的特定地址的快闪操作,并且快闪器件管理器根据相关的半物理地址产生物理地址。如果找到物理地址(S400),作出快闪操作(S500)。如果快闪操作期间找到不良存储块,则登记映射信息,从而允许备用块而不是不良存储块使用相关的半物理地址,并进行校正该错误的工作(S600)。将参照图20到22说明不良存储块的处理。如果对具有读出错误的不良存储块与具有写入或擦除错误的不良存储块进行不同处理,检查芯片t的不良存储块是否具有读出错误(S610)。如果不良存储块具有读出错误,管理具有读出错误的芯片t的不良存储块(S610)。如果没有读出错误,管理具有写入或擦除错误的不良存储块(S660)。如果具有读出错误的不良存储块与具有写入或擦除错误的不良存储块进行相同的处理,对芯片t的所有不良存储块进行写入或擦除操作(S660)。
参照图21,在读出芯片t的不良存储块的处理中(S620),芯片t的保护区改变为可读并可写状态(S622)。擦除芯片t的转换块(S624),所读出的芯片t的不良存储块的错误被校正,并把它复制到芯片t的转换块上(S626)。如果产生任何小于预定位的错误,该错误可以用纠错码校正。这时,找到芯片的未使用块映射页(S628)。在没有未使用块映射页时,在与包含最新的块映射页的块不同的块上进行擦除操作。在一(1)被加到块映射信息的计数字段后,芯片t的块映射信息记录在擦除的块的最低地址的未使用块映射页上,有效标记被加到该块映射页。未使用块页可能在块映射页的较上部的块映射页中找到。找出的块映射页的转换字段改变为“读出不良存储块的恢复中”,读出的不良存储块号记录在块映射字段1的不良存储块号上,转换块号记录在块映射字段1的备用块号上(S630),有效标记施加到找到的块映射页上(S632)。接着,擦除芯片t的读出不良存储块(S634),芯片t的转换块被复制到读出的不良存储块,无效标记被写入到芯片t中找到的块映射页上(S638)。这时,芯片t的保护区变为“只读”状态(S640)。
对接下来的步骤S532的恢复处理进行期间的任何电源突然中断提供指示“读出的不良存储块恢复中”的步骤S630。无效标记是表示检查的具有读出的不良存储块的块映射页为无效,因为该页能够在步骤S630之后正常使用。检查图18的有效块映射页时(S238),如果它是标有“读出的不良存储块恢复中”标记的块映射页(S246),读出不良存储块号从包括在块映射页的块映射字段1中的不良存储块号166获得,从而通过步骤S632、634、636和638恢复读出错误。已经说明了读出错误主要在保护区产生。但是,即使读出错误产生在未保护区,也能以相同的方式执行与S622和S640不同的步骤,从而管理读出不良存储块。
参照图22,处理芯片t的写入和擦除不良存储块时(S660),首先找到芯片t的未使用的备用块(S662)。以如下的方式,通过使用芯片t的块映射页信息,能够找到未使用的备用块。
当在芯片t的保护区产生不良存储块时,参照不良存储块号166找到未使用的备用块,具有不良存储块号166的备用块用在芯片t的块映射信息中登记的块字段中已经产生的不良块进行映射。在本发明的示例性实施例中,已经产生的不良存储块映射到一个备用块,从具有最高到最低号的备用块中找到未使用的备用块。不良存储块在芯片t的未保护区产生时,通过参考映射到与已经产生的不良存储块相关的备用块的不良存储块号166,找到未使用的备用块。在本发明另一个示例性实施例中,已经产生的不良存储块映射到备用块,从具有最高到最低号的备用块中找出未使用的备用块。当以这种方式找到未使用的备用块时,因为备用块号能够适应性的用于产生的不良存储块,而不用预先在保护区和未保护区分配备用块号,所以这是有好处的。
一旦找到未使用的备用块(S662),从芯片t的块映射信息中找到未使用的块映射字段(S664)。在步骤S662和664,根据块映射信息找到块映射字段。接着,更新块映射信息(S666)。更新块映射信息就是写入备用块不良存储块的号以便将不良存储块映射到从块映射信息中找到的备用块中的信息。更新块映射信息后,找到块映射页组中可写的块映射页(S668),检查不良存储块是否包含在保护区(S670)并且如果不良存储块包含在保护区,芯片t的备用块的保护区变为可写和可擦除状态(S672)。但是,找到的未使用的备用块是可读并可写的未保护区域时,不需要进行步骤(S672)。这里,未使用的块映射页指除了其中包含最新信息的块映射页的块映射页中的任意一个块映射页。接着,芯片t的不良存储块被复制到芯片t的未使用的备用块(S674)。随后,芯片t的块映射信息被写到芯片t中未使用的块映射页(S676),有效标记写入到芯片t的未使用的块映射页(S678)。最后,芯片t备用区的保护区变为只读状态(S680)。读出块由备用块替换的闪存能够象没有不良存储块一样地使用。为了找到在步骤S668写入的块映射页,通过使用块映射页的转换字段确定它是否有效,并确定有效页中的计数字段数是否最大。在步骤(S676)块映射信息被写到空的块映射页。这时,在计数字段写入比具有已经存储的块映射页中的最大号的块映射页大一的计数。当没有空的块映射页时,找到另一个块映射页以写入其中。如果找到的页也满了,对其他没有最新块映射页的块进行擦除操作,接着在上面写入信息。
例如,请假定有两个块A和B,它们都有10个块映射页。还假定块映射页从最低到最高地址被写入,使用了A块的所有块映射页后,开始使用B块的块映射页。这时,由于每个块的块映射页都具有制造商记录的映射信息,A和B块起到一种映射信息历史块的作用。因此,当使用了A块的所有块映射页并接着使用了B块的所有块映射页时,产生新的不良存储块时擦除A块,其上产生包含新的映射信息的块映射页。这时,尽管系统操作失败或者其上加的电源突然中断,闪存也可以使用而不产生麻烦,因为至少除了当前映射信息的最新映射信息存在于B块中。当将来需要对不良存储块进行快闪操作时,不良存储块能够被重新映射到备用块,并能够建立包含映射信息的块映射页。
顺便说一下,如果只用一个块形成块映射页组,当没有空的块映射页时,可以擦除该块映射页,以便在上面写入信息。但是,如果擦除相关的块映射页时系统操作失败或电源突然中断,其中存在的信息会消失。考虑到这一点,闪存最好具有两个块。
如上所述,与传统的闪存不同,即使当使用闪存时产生不良存储块时,也能够用较少的闪存操作来管理闪存中的不良存储块,从而改善闪存的性能。
进而,分配用来替换在具有一个建立的区域(保护区)的闪存的保护区中产生的不良存储块的新区域能够建立成只读的,因此,能够安全地管理不需要改变的重要数据。
本发明现在已经参照附图进行了说明,附图中示出了本发明的示例性的实施例。然而,本发明可以用很多不同的形式实现并且不应当解释为限于这里实现的示例性的实施例。正确的说法是,提供这些示例性的实施例,从而该公开的内容将是详尽和完备的,并将传递给本领域技术人员本发明的多种范例的实施例的范围。在说明书的整个部分中使用的相同的参考数字表示相同的部分。
尽管本发明已经结合了附图所描述的本发明的示例性实施例进行了说明,由于本领域技术人员能够在不脱离本发明的范围和精神的情况下做出各种修改或变化,所以本发明不限于此。

Claims (19)

1、一种管理闪存中的不良存储块的方法,包括:
(a)在闪存中分配包括多个使用块的使用区和包括多个备用块的备用区,和提供一个包括多个块映射页的块映射页组,块映射页中安置有将在使用区或备用区中产生的不良存储块映射为第一备用块的映射信息;
(b)使通过预定规则选择的、属于块映射页组的块映射页的映射信息驻留在主存储器中作为驻留映射信息;和
(c)将在快闪操作中产生的不良存储块映射到通过驻留映射信息找到的未使用的备用块,更新驻留映射信息作为更新的映射信息,并在属于该块映射页组的块映射页中记录该更新的映射信息。
2、根据权利要求1所述的方法,其中步骤(a)包括:
(a1)在闪存中分配所述包括多个使用块的使用区和包括多个备用块的备用区;
(a2)在每个备用块上产生块映射字段,其中所产生的备用块和不良存储块之间的映射信息将被产生作为产生的块映射字段,并初始化块映射信息,块映射信息包含产生的块映射字段、用于确定映射信息时间的计数字段和用于确定块映射字段信息的有效性的转换字段;
(a3)通过记录检查闪存中存在的不良存储块找到的不良存储块和将替换找到的不良存储块的备用块的映射信息来产生块映射信息,并在计数字段上初始设置映射信息;和
(a4)在属于块映射页组的任一个块映射页上记录块映射信息。
3、根据权利要求1所述的方法,其中块映射页组包括至少两个备用块。
4、根据权利要求1所述的方法,其中闪存包括多个芯片,对多个芯片的每个芯片执行步骤(a)-(c)的每一步骤。
5、根据权利要求1所述的方法,其中在步骤(a),至少一部分使用块和备用块被指定为保护区,从而阻碍未经验证的软件访问该保护区。
6、根据权利要求1所述的方法,其中在步骤(b),在块映射页组内的块映射页之间检查包括最新信息写入的块页的有效块映射页,并且该找到的块映射页的映射信息驻留在闪存中。
7、根据权利要求6所述的方法,其中当检查最新信息写入块映射页时,根据记录在每个块映射页的转换字段中的值和记录在计数字段上的数的大小进行检查。
8、根据权利要求6所述的方法,还包括恢复以预定的方法发现的读出的不良存储块,其中发现用读出错误表示的无效块映射页,同时在属于块映射页组的块映射页中,检查包括最新块映射页的有效块映射页。
9、根据权利要求6所述的方法,其中当闪存包括多个芯片时,对多个芯片的每个芯片执行步骤(a)-(c)的每一步骤。
10、根据权利要求1所述的方法,其中步骤(c)包括:
(c1)通过使用驻留的映射信息定位未使用的备用块;
(c2)通过映射步骤(c1)找到的未使用备用块的号与不良存储块的号,更新驻留的映射信息,作为更新的映射信息;
(c3)定位块映射页组中的未使用的块映射页,作为找到的未使用备用块;
(c4)在找到的未使用备用块中复制在产生的不良块上记录的信息;
(c5)记录包括有关找到的未使用的块映射页的更新的映射信息的信息;和
(c6)指示所找到的未使用块映射页有效。
11、根据权利要求10所述的方法,还包括当步骤(c6)完成后,当在保护区产生不良存储块并且再次把保护区改为只读状态时,改变保护区域为可读并可写的状态。
12、根据如上述10个权利要求之一所述的方法,其中当闪存包括多个芯片时,对多个芯片的每个芯片执行步骤(a)-(c)的每一步骤。
13、根据权利要求1所述的方法,其中步骤(c)包括:
(c1)确定步骤(c)产生的不良存储块是否是读出的不良存储块;
(c2)擦除临时使用的备用块,以恢复读出的不良存储块;
(c3)校正读出的不良存储块的错误,并接着复制该读出的不良存储块到备用块;
(c4)在块映射页组中定位未使用的块映射页,作为找到的块映射页;
(c5)在找到的块映射页上指示读出的不良存储块和备用块之间的映射信息正从读出错误中恢复;
(c6)擦除读出的不良存储块,作为擦除的读出不良存储块;
(c7)在擦除的读出不良存储块上复制备用块;和
(c8)在找到的块映射页上指示找到的块映射页无效。
14、根据权利要求13所述的方法,其中步骤(c8)完成后,当保护区中产生不良存储块并且保护区再次变为只读状态时,保护区可以变为可读并可写状态。
15、一种管理闪存中的不良存储块的装置,闪存中有至少一个闪存芯片构成,该装置包括:
闪存,包括具有多个使用块的使用区和替换闪存使用时产生的不良存储块的备用区,并包括在备用区内的具有多个块映射页的块映射页组,块映射页中安置有将在使用中产生的不良存储块和替代该不良存储块的备用块之间的映射信息;
主存储器,用于装载一个快闪器件管理器,它确定块映射页组中现存的最新的有效块映射页的映射信息,和产生不良存储块时处理不良存储块的过程;和
中央处理单元(CPU),连接到闪存和主存储器,通过读出快闪器件管理器的代码,管理闪存的不良存储块中的快闪操作。
16、根据权利要求15所述的装置,其中备用区中,块映射页组包括至少两个或两个以上的备用块。
17、根据权利要求15所述的装置,还可以包括一个闪存控制器,连接于CPU和闪存之间,并包括两个或两个以上缓冲器,用于在CPU进行当前的快闪操作时存储对闪存下一个操作的数据。
18、根据权利要求17所述的装置,其中闪存控制器建立闪存的预定区域为保护区,并允许只对经过快闪器件管理器验证的快闪应用程序在保护区进行快闪操作,对于快闪器件管理器未验证的快闪应用程序,不允许在保护区进行快闪操作。
19、根据权利要求15所述的装置,其中当闪存包括多个闪存芯片时,对应的使用区、对应的备用区和闪存的对应备用区内的对应的块映射页组存在于每个闪存芯片中。
CN2004100430646A 2003-04-04 2004-04-04 管理闪存中的不良存储块的装置和方法 Expired - Lifetime CN100407337C (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR0021502/03 2003-04-04
KR0021502/2003 2003-04-04
KR20030021502 2003-04-04
KR10-2003-0063342A KR100526186B1 (ko) 2003-04-04 2003-09-09 플래시 메모리의 오류블록 관리방법 및 장치
KR0063342/2003 2003-09-09
KR0063342/03 2003-09-09

Publications (2)

Publication Number Publication Date
CN1551243A true CN1551243A (zh) 2004-12-01
CN100407337C CN100407337C (zh) 2008-07-30

Family

ID=36460795

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004100430646A Expired - Lifetime CN100407337C (zh) 2003-04-04 2004-04-04 管理闪存中的不良存储块的装置和方法

Country Status (6)

Country Link
US (2) US7009896B2 (zh)
EP (1) EP1469481B1 (zh)
JP (1) JP3923955B2 (zh)
KR (1) KR100526186B1 (zh)
CN (1) CN100407337C (zh)
DE (1) DE602004022608D1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100456263C (zh) * 2005-12-30 2009-01-28 深圳市桑达实业股份有限公司 在税控收款机中使用闪存时处理坏块的方法
CN101833488A (zh) * 2010-04-30 2010-09-15 杭州华三通信技术有限公司 快照资源的处理方法及设备
CN102171767A (zh) * 2008-09-30 2011-08-31 Lsi公司 用于存储装置的基于性能因素调节的软数据生成方法装置
CN101546298B (zh) * 2008-03-28 2012-01-11 群联电子股份有限公司 用于闪存的数据读取方法、其控制器与储存系统
CN102568609A (zh) * 2010-12-08 2012-07-11 阿沃森特公司 用于自主nand刷新的系统和方法
US8332576B2 (en) 2008-02-21 2012-12-11 Phison Electronics Corp. Data reading method for flash memory and controller and storage system using the same
CN102841826A (zh) * 2011-06-20 2012-12-26 鑫创科技股份有限公司 行车记录器、闪速存储器装置及其管理方法
CN109144407A (zh) * 2017-06-16 2019-01-04 希捷科技有限公司 用于监测存储器以便引退的系统和方法

Families Citing this family (117)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6968439B2 (en) * 2002-08-29 2005-11-22 Micron Technology, Inc. Single segment data object management
US7203828B2 (en) * 2002-11-29 2007-04-10 Sigmatel, Inc. Use of NAND flash for hidden memory blocks to store an operating system program
KR100971320B1 (ko) * 2003-03-25 2010-07-20 트랜스퍼시픽 소닉, 엘엘씨 플래시롬의 응용 프로그램 저장/실행 방법
KR100572328B1 (ko) * 2004-07-16 2006-04-18 삼성전자주식회사 배드 블록 관리부를 포함하는 플래시 메모리 시스템
US20110029723A1 (en) * 2004-08-06 2011-02-03 Super Talent Electronics, Inc. Non-Volatile Memory Based Computer Systems
US7464306B1 (en) * 2004-08-27 2008-12-09 Lexar Media, Inc. Status of overall health of nonvolatile memory
TWI269167B (en) * 2005-05-04 2006-12-21 Apacer Technology Inc Dynamic memory management method and computer-readable recording medium for making a computer execute the method
TWI298836B (en) * 2005-10-12 2008-07-11 Sunplus Technology Co Ltd Apparatus for controlling flash memory and method thereof
ITVA20050061A1 (it) 2005-11-08 2007-05-09 St Microelectronics Srl Metodo di gestione di un dispositivo di memoria non volatile e relativa memoria
WO2007058617A1 (en) * 2005-11-17 2007-05-24 Chee Keng Chang A controller for non-volatile memories, and methods of operating the memory controller
US20070174549A1 (en) * 2006-01-24 2007-07-26 Yevgen Gyl Method for utilizing a memory interface to control partitioning of a memory module
US8065563B2 (en) * 2006-03-23 2011-11-22 Mediatek Inc. System for booting from a non-XIP memory utilizing a boot engine that does not have ECC capabilities during booting
US7555678B2 (en) * 2006-03-23 2009-06-30 Mediatek Inc. System for booting from a non-XIP memory utilizing a boot engine that does not have ECC capabilities during booting
US7721146B2 (en) * 2006-05-04 2010-05-18 Dell Products L.P. Method and system for bad block management in RAID arrays
KR100746418B1 (ko) * 2006-06-12 2007-08-03 주식회사 팬택앤큐리텔 이중화된 페이지 테이블 구조를 사용하는 휴대용 단말기 및그 휴대용 단말기에서의 파일 시스템 초기화 방법
US7366017B2 (en) 2006-08-22 2008-04-29 Micron Technology, Inc. Method for modifying data more than once in a multi-level cell memory location within a memory array
KR100837273B1 (ko) * 2006-08-24 2008-06-12 삼성전자주식회사 플래시 메모리 장치
US20080052446A1 (en) * 2006-08-28 2008-02-28 Sandisk Il Ltd. Logical super block mapping for NAND flash memory
KR100755718B1 (ko) * 2006-09-04 2007-09-05 삼성전자주식회사 멀티 레벨 셀 플래시 메모리에서 런-타임 배드 블록 관리를위한 장치 및 방법
KR100845137B1 (ko) * 2006-10-02 2008-07-09 삼성전자주식회사 메모리 장치의 배드 블록 주소를 번역하는 방법, 메모리장치의 배드 블록 주소를 번역하는 장치 및 이를 포함하는메모리 장치 컨트롤러
KR100799688B1 (ko) * 2007-01-03 2008-02-01 삼성전자주식회사 백업 회로를 갖는 메모리 시스템 및 그것의 프로그램 방법
US8122319B2 (en) * 2007-01-24 2012-02-21 Charles I. Peddle Page-based failure management for flash memory
KR100813630B1 (ko) * 2007-02-07 2008-03-14 삼성전자주식회사 독출 성능을 향상할 수 있는 플래시 메모리 시스템 및그것의 독출 방법
US20080222733A1 (en) * 2007-03-08 2008-09-11 Ddtic Corporation, Ltd. Anti-pirate memory card
US7996710B2 (en) 2007-04-25 2011-08-09 Hewlett-Packard Development Company, L.P. Defect management for a semiconductor memory system
US7694093B2 (en) 2007-04-27 2010-04-06 Hewlett-Packard Development Company, L.P. Memory module and method for mirroring data by rank
US7916540B2 (en) 2007-05-17 2011-03-29 Samsung Electronics Co., Ltd. Non-volatile memory devices and systems including bad blocks address re-mapped and methods of operating the same
KR100923989B1 (ko) * 2007-06-01 2009-10-28 삼성전자주식회사 배드 블록을 리맵핑하는 플래시 메모리 장치 및 그것의배드 블록의 리맵핑 방법
TWI335035B (en) * 2007-06-20 2010-12-21 Etron Technology Inc Memory row scheme having memory row redundancy repair function
KR101399549B1 (ko) 2007-09-04 2014-05-28 삼성전자주식회사 반도체 메모리 장치 및 그것의 블록 관리 방법
US7817467B2 (en) 2007-09-07 2010-10-19 Micron Technology, Inc. Memory controller self-calibration for removing systemic influence
US7934052B2 (en) 2007-12-27 2011-04-26 Pliant Technology, Inc. System and method for performing host initiated mass storage commands using a hierarchy of data structures
JP4489127B2 (ja) * 2008-02-29 2010-06-23 株式会社東芝 半導体記憶装置
US8082384B2 (en) 2008-03-26 2011-12-20 Microsoft Corporation Booting an electronic device using flash memory and a limited function memory controller
WO2009124320A1 (en) * 2008-04-05 2009-10-08 Fusion Multisystems, Inc. Apparatus, system, and method for bad block remapping
DE102008041683A1 (de) 2008-08-29 2010-03-04 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines Rechners mit einem Speicher, Computerprogramm, Computerprogrammprodukt
TWI364661B (en) * 2008-09-25 2012-05-21 Silicon Motion Inc Access methods for a flash memory and memory devices
US20100146239A1 (en) * 2008-12-08 2010-06-10 Infinite Memories Ltd. Continuous address space in non-volatile-memories (nvm) using efficient embedded management of array deficiencies
EP2270644A3 (en) * 2009-06-22 2012-10-17 Hitachi, Ltd. Method for managing storage system using flash memory, and computer
ATE528761T1 (de) * 2009-11-02 2011-10-15 Giga Byte Tech Co Ltd Flash-speicherzugangsvorrichtung und verfahren dafür
KR101678868B1 (ko) * 2010-02-11 2016-11-23 삼성전자주식회사 플래시 주소 변환 장치 및 그 방법
US8874981B2 (en) * 2010-05-12 2014-10-28 Mediatek Inc. Method of creating target storage layout table referenced for partitioning storage space of storage device and related electronic device and machine-readable medium
KR101280181B1 (ko) * 2010-05-18 2013-07-05 삼성전자주식회사 메모리 시스템 및 메모리 시스템에서 플래쉬 변환 레이어의 예비 영역 관리 방법
KR101077901B1 (ko) * 2010-07-12 2011-10-31 (주)이더블유비엠코리아 로그 블록 단위 매핑 기법을 이용한 플래시 메모리 관리 장치 및 방법
US8706954B2 (en) * 2010-09-07 2014-04-22 Sony Corporation Memory management apparatus and memory management method
JP5541194B2 (ja) * 2011-02-23 2014-07-09 株式会社デンソー フラッシュメモリに対してデータの読み出しおよび書き込みを行う制御装置
US8560922B2 (en) 2011-03-04 2013-10-15 International Business Machines Corporation Bad block management for flash memory
US8726087B2 (en) * 2011-03-18 2014-05-13 Denso International America, Inc. System and method for curing a read inability state in a memory device
US9529547B2 (en) * 2011-10-21 2016-12-27 Freescale Semiconductor, Inc. Memory device and method for organizing a homogeneous memory
US8892828B2 (en) * 2011-11-18 2014-11-18 Micron Technology, Inc. Apparatuses and methods for storing validity masks and operating apparatuses
CN103577342B (zh) * 2012-07-25 2018-04-17 慧荣科技股份有限公司 管理闪存中所储存的数据的方法及相关记忆装置与控制器
TWI508068B (zh) * 2012-07-25 2015-11-11 Silicon Motion Inc 管理快閃記憶體中所儲存之資料的方法,及相關的記憶裝置與控制器
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
US9032244B2 (en) * 2012-11-16 2015-05-12 Microsoft Technology Licensing, Llc Memory segment remapping to address fragmentation
US9501398B2 (en) 2012-12-26 2016-11-22 Sandisk Technologies Llc Persistent storage device with NVRAM for staging writes
US9612948B2 (en) 2012-12-27 2017-04-04 Sandisk Technologies Llc Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device
US9454420B1 (en) 2012-12-31 2016-09-27 Sandisk Technologies Llc Method and system of reading threshold voltage equalization
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US8812744B1 (en) 2013-03-14 2014-08-19 Microsoft Corporation Assigning priorities to data for hybrid drives
US9367246B2 (en) 2013-03-15 2016-06-14 Sandisk Technologies Inc. Performance optimization of data transfer for soft information generation
US9626126B2 (en) 2013-04-24 2017-04-18 Microsoft Technology Licensing, Llc Power saving mode hybrid drive access management
US9946495B2 (en) 2013-04-25 2018-04-17 Microsoft Technology Licensing, Llc Dirty data management for hybrid drives
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9361221B1 (en) 2013-08-26 2016-06-07 Sandisk Technologies Inc. Write amplification reduction through reliable writes during garbage collection
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
US9442662B2 (en) 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
US9436831B2 (en) 2013-10-30 2016-09-06 Sandisk Technologies Llc Secure erase in a memory device
KR102070729B1 (ko) * 2013-11-12 2020-03-02 삼성전자주식회사 반도체 메모리 장치 및 그것을 포함하는 메모리 시스템
US9703816B2 (en) 2013-11-19 2017-07-11 Sandisk Technologies Llc Method and system for forward reference logging in a persistent datastore
CN103593301B (zh) * 2013-11-20 2016-07-27 北京旋极信息技术股份有限公司 坏块管理方法及系统
US9520197B2 (en) 2013-11-22 2016-12-13 Sandisk Technologies Llc Adaptive erase of a storage device
US9520162B2 (en) 2013-11-27 2016-12-13 Sandisk Technologies Llc DIMM device controller supervisor
US9582058B2 (en) 2013-11-29 2017-02-28 Sandisk Technologies Llc Power inrush management of storage devices
US20160342508A1 (en) * 2014-01-31 2016-11-24 Hewlett Packard Enterprise Development Lp Identifying memory regions that contain remapped memory locations
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
TWI514401B (zh) * 2014-03-11 2015-12-21 Winbond Electronics Corp 串列反及式快閃記憶體及其內建可變式壞區的管理方法
US9454448B2 (en) 2014-03-19 2016-09-27 Sandisk Technologies Llc Fault testing in storage devices
US9448876B2 (en) 2014-03-19 2016-09-20 Sandisk Technologies Llc Fault detection and prediction in storage devices
US9390021B2 (en) 2014-03-31 2016-07-12 Sandisk Technologies Llc Efficient cache utilization in a tiered data structure
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in tiered data structure
US9626399B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Conditional updates for reducing frequency of data modification operations
US9697267B2 (en) 2014-04-03 2017-07-04 Sandisk Technologies Llc Methods and systems for performing efficient snapshots in tiered data structures
CN105023608B (zh) * 2014-04-29 2019-05-10 华邦电子股份有限公司 闪速存储器及坏区块的管理方法
US9703491B2 (en) 2014-05-30 2017-07-11 Sandisk Technologies Llc Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device
US10656840B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US10146448B2 (en) 2014-05-30 2018-12-04 Sandisk Technologies Llc Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device
US10656842B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
US10162748B2 (en) 2014-05-30 2018-12-25 Sandisk Technologies Llc Prioritizing garbage collection and block allocation based on I/O history for logical address regions
US10114557B2 (en) 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US10372613B2 (en) 2014-05-30 2019-08-06 Sandisk Technologies Llc Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
US9811413B2 (en) 2014-07-30 2017-11-07 Apple Inc. Orphan block management in non-volatile memory devices
US9443601B2 (en) 2014-09-08 2016-09-13 Sandisk Technologies Llc Holdup capacitor energy harvesting
US9760482B2 (en) * 2014-10-28 2017-09-12 Toshiba Memory Corporation Reconstruct drive for dynamic resizing
US11086797B2 (en) * 2014-10-31 2021-08-10 Hewlett Packard Enterprise Development Lp Systems and methods for restricting write access to non-volatile memory
KR102365269B1 (ko) 2015-04-13 2022-02-22 삼성전자주식회사 데이터 스토리지 및 그것의 동작 방법
US10346039B2 (en) * 2015-04-21 2019-07-09 Toshiba Memory Corporation Memory system
JP6542152B2 (ja) * 2016-03-29 2019-07-10 東芝メモリ株式会社 オブジェクトストレージ、コントローラおよびプログラム
US10146604B2 (en) * 2016-08-23 2018-12-04 Oracle International Corporation Bad block detection and predictive analytics in NAND flash storage devices
CN108170366A (zh) * 2016-12-06 2018-06-15 华为技术有限公司 存储设备中的存储介质管理方法、装置和存储设备
US10445199B2 (en) 2016-12-22 2019-10-15 Western Digital Technologies, Inc. Bad page management in storage devices
US10725933B2 (en) * 2016-12-30 2020-07-28 Intel Corporation Method and apparatus for redirecting memory access commands sent to unusable memory partitions
KR102409760B1 (ko) * 2017-03-17 2022-06-17 에스케이하이닉스 주식회사 메모리 시스템
KR102395434B1 (ko) 2017-03-20 2022-05-09 삼성전자주식회사 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템
US10936412B1 (en) * 2017-04-17 2021-03-02 EMC IP Holding Company LLC Method and system for accessing data stored in data cache with fault tolerance
US10223018B2 (en) 2017-04-19 2019-03-05 Sandisk Technologies Llc Bad page and bad block management in memory
US10635515B2 (en) 2017-12-06 2020-04-28 Sandisk Technologies Llc Recovery of partial memory die
US10838831B2 (en) * 2018-05-14 2020-11-17 Micron Technology, Inc. Die-scope proximity disturb and defect remapping scheme for non-volatile memory
US11055167B2 (en) * 2018-05-14 2021-07-06 Micron Technology, Inc. Channel-scope proximity disturb and defect remapping scheme for non-volatile memory
US10725853B2 (en) * 2019-01-02 2020-07-28 Formulus Black Corporation Systems and methods for memory failure prevention, management, and mitigation
KR20210039871A (ko) 2019-10-02 2021-04-12 삼성전자주식회사 메타 데이터를 관리하는 스토리지 시스템, 스토리지 시스템을 제어하는 호스트 시스템 및 스토리지 시스템의 동작방법
CN112861196A (zh) * 2019-11-27 2021-05-28 量子芯云(北京)微电子科技有限公司 安全存储器的存储单元使用寿命增强方法
CN113495670B (zh) * 2020-04-01 2024-03-26 长鑫存储技术有限公司 读写方法及存储器装置
CN113495675B (zh) 2020-04-01 2023-08-11 长鑫存储技术有限公司 读写方法及存储器装置
US11610641B2 (en) 2020-07-09 2023-03-21 SK Hynix Inc. Wafer-yields and write-QoS in flash-based solid state drives
CN113377296B (zh) * 2021-08-16 2021-11-16 深圳市有为信息技术发展有限公司 车载终端NAND Flash的存储管理方法和系统、车载终端、车辆
CN116880777B (zh) * 2023-09-07 2023-12-01 合肥康芯威存储技术有限公司 一种内嵌式存储器及闪存恢复方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5210854A (en) 1989-06-14 1993-05-11 Digital Equipment Corporation System for updating program stored in eeprom by storing new version into new location and updating second transfer vector to contain starting address of new version
JPH03273349A (ja) 1990-03-22 1991-12-04 Toshiba Corp アクセス制御方式
TW261687B (zh) * 1991-11-26 1995-11-01 Hitachi Seisakusyo Kk
JPH07201190A (ja) 1993-12-28 1995-08-04 Mitsubishi Electric Corp 不揮発性メモリファイルシステム
KR100205006B1 (ko) * 1996-10-08 1999-06-15 윤종용 자동 결함 블럭 맵핑 기능을 갖는 반도체 메모리 장치
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
US6260156B1 (en) * 1998-12-04 2001-07-10 Datalight, Inc. Method and system for managing bad areas in flash memory
JP2000285001A (ja) * 1999-03-31 2000-10-13 Seiko Epson Corp 半導体フラッシュメモリ装置及びその制御方法
JP3389186B2 (ja) * 1999-04-27 2003-03-24 松下電器産業株式会社 半導体メモリカード及び読み出し装置
JP2001350673A (ja) 2000-06-05 2001-12-21 Hitachi Ltd フラッシュメモリアクセス制御方法
KR100644602B1 (ko) * 2000-10-11 2006-11-10 삼성전자주식회사 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조
JP2002285001A (ja) 2001-03-22 2002-10-03 Nippon Zeon Co Ltd 吸水性消臭材およびその製造方法
JP2003044231A (ja) 2001-07-31 2003-02-14 Hitachi Communication Technologies Ltd 記憶媒体交替セクタ管理方式および記憶装置
JP4059473B2 (ja) 2001-08-09 2008-03-12 株式会社ルネサステクノロジ メモリカード及びメモリコントローラ
JP2003085993A (ja) * 2001-09-07 2003-03-20 Toshiba Corp 不揮発性半導体記憶装置およびその不良救済方法
US7171536B2 (en) * 2002-10-28 2007-01-30 Sandisk Corporation Unusable block management within a non-volatile memory system
TWI298836B (en) * 2005-10-12 2008-07-11 Sunplus Technology Co Ltd Apparatus for controlling flash memory and method thereof

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100456263C (zh) * 2005-12-30 2009-01-28 深圳市桑达实业股份有限公司 在税控收款机中使用闪存时处理坏块的方法
US8332576B2 (en) 2008-02-21 2012-12-11 Phison Electronics Corp. Data reading method for flash memory and controller and storage system using the same
CN101546298B (zh) * 2008-03-28 2012-01-11 群联电子股份有限公司 用于闪存的数据读取方法、其控制器与储存系统
CN102171767A (zh) * 2008-09-30 2011-08-31 Lsi公司 用于存储装置的基于性能因素调节的软数据生成方法装置
CN101833488A (zh) * 2010-04-30 2010-09-15 杭州华三通信技术有限公司 快照资源的处理方法及设备
CN101833488B (zh) * 2010-04-30 2012-09-26 杭州华三通信技术有限公司 快照资源的处理方法及设备
CN102568609A (zh) * 2010-12-08 2012-07-11 阿沃森特公司 用于自主nand刷新的系统和方法
CN102568609B (zh) * 2010-12-08 2016-05-04 阿沃森特公司 用于自主nand刷新的系统和方法
CN102841826A (zh) * 2011-06-20 2012-12-26 鑫创科技股份有限公司 行车记录器、闪速存储器装置及其管理方法
CN102841826B (zh) * 2011-06-20 2016-09-21 鑫创科技股份有限公司 行车记录器、闪速存储器装置及其管理方法
CN109144407A (zh) * 2017-06-16 2019-01-04 希捷科技有限公司 用于监测存储器以便引退的系统和方法
CN109144407B (zh) * 2017-06-16 2021-12-21 希捷科技有限公司 用于监测存储器以便引退的系统和方法

Also Published As

Publication number Publication date
JP2004310770A (ja) 2004-11-04
JP3923955B2 (ja) 2007-06-06
US20060109725A1 (en) 2006-05-25
CN100407337C (zh) 2008-07-30
US7009896B2 (en) 2006-03-07
EP1469481A3 (en) 2006-11-15
US7295479B2 (en) 2007-11-13
US20040196707A1 (en) 2004-10-07
KR20040087245A (ko) 2004-10-13
EP1469481B1 (en) 2009-08-19
KR100526186B1 (ko) 2005-11-03
EP1469481A2 (en) 2004-10-20
DE602004022608D1 (de) 2009-10-01

Similar Documents

Publication Publication Date Title
CN1551243A (zh) 管理闪存中的不良存储块的装置和方法
JP3708047B2 (ja) フラッシュメモリの管理方法
JP4371771B2 (ja) 不揮発性メモリシステムにおいて用いられる電力管理ブロック
KR0128218B1 (ko) 일괄 소거형 비휘발성 메모리
EP1197868B1 (en) Method of driving remapping in flash memory and flash memory architecture suitable therefor
US8201024B2 (en) Managing memory faults
US8028120B2 (en) System with flash memory device and data recovery method thereof
US7254668B1 (en) Method and apparatus for grouping pages within a block
JP4005142B2 (ja) フラッシュメモリ大容量記憶システム
CN102549554B (zh) 基于条带的存储器操作
JP4245585B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
CN1701390A (zh) 跟踪非易失性存储器系统中最频繁擦除区块
CN1701308A (zh) 维护非易失性存储系统中的擦除计数
JP4666080B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
CN1701307A (zh) 管理擦除计数区块的方法和设备
CN1698036A (zh) 跟踪非易失性存储器系统中最不频繁擦除区块
CN1701309A (zh) 非易失性存储系统中的损耗平衡
JP2010191782A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
CN1701389A (zh) 维持非易失性存储系统中的平均擦除计数
KR20090094195A (ko) 메모리 시스템 및 그 데이터 소거 방법
JP5093294B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2010267290A (ja) 共通論理ブロックに関連付けられている物理ブロックを解決するための方法および装置
CN101231617A (zh) 闪存设备的数据处理方法
JP2010182268A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4952741B2 (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