CN1957337A - 存储器控制电路、非易失性存储装置及存储器控制方法 - Google Patents

存储器控制电路、非易失性存储装置及存储器控制方法 Download PDF

Info

Publication number
CN1957337A
CN1957337A CNA2005800159939A CN200580015993A CN1957337A CN 1957337 A CN1957337 A CN 1957337A CN A2005800159939 A CNA2005800159939 A CN A2005800159939A CN 200580015993 A CN200580015993 A CN 200580015993A CN 1957337 A CN1957337 A CN 1957337A
Authority
CN
China
Prior art keywords
admin table
management information
write
data
block
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
CNA2005800159939A
Other languages
English (en)
Other versions
CN100407178C (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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN1957337A publication Critical patent/CN1957337A/zh
Application granted granted Critical
Publication of CN100407178C publication Critical patent/CN100407178C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1068Adding 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 sector programmable memories, e.g. flash disk

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明可保存产生写入错误的地址,在一系列的写入完成之后,读出所保存的地址数据。而且,通过仅对于无法进行数据纠正的地址、及判断为需要进行写入重试的地址进行不良区块处理,可防止不良区块的增加。从而,向指定的快闪存储器进行写入时,可防止频繁出现写入错误、以及大量产生不良区块。

Description

存储器控制电路、非易失性 存储装置及存储器控制方法
技术领域
本发明涉及对可改写非易失性存储器写入数据时错误处理具有特征的存储器控制电路、非易失性存储装置及存储器控制方法。
背景技术
近年来,作为保存数字信息的存储装置,广泛使用装载可改写非易失性存储器的存储卡或设备。尤其是存储卡体积小且抗震性优异,因此今后多用于便携式设备中。
具有代表性的可改写非易失性存储器有快闪存储器。一般而言,数据的写入是以页为单位执行的,而数据的删除则是以清除区块为单位执行的。通常,清除区块由多个页构成。以下的说明中,将页和清除区块称作区块。快闪存储器是以区块为单位来管理其使用及未使用的,例如,对于未使用的区块写入“1”作为管理数据,写入数据后,将管理数据从“1”改写为“0”。
而且,一般而言,快闪存储器很少存在未正常写入的情况。因此,快闪存储器具有读出表示正常写入、或者异常写入的状态的功能。并且,必须在写入数据后再读出其状态以判断写入是否已正常进行。当发生写入错误时,对应区块的管理数据则从“1”改写为“0”,从而不会再次选择该区块作为写入区块。
作为所述快闪存储器的写入错误的相关技术,公知专利文献1中揭示的技术。
【专利文献1】日本专利特开2002-108720号公报(0003~0004段)
发明内容
常规的快闪存储器中,对于发生写入错误的存储单元,为了避免再次被选为写入对象,而在管理表上将该区块作为不良区块加以处理。然而,近年来,出现即便在写入未正常时也可再利用存储单元的快闪存储器。这样的快闪存储器中,若与常规的快闪存储器相同,将发生写入错误的存储单元全部作为不良区块,则可能会产生大量的不良区块。
本发明是为解决所述问题而研制的,其目的在于实现一种可减少存储卡中不良区块的产生的存储器控制电路、非易失性存储装置及存储器控制方法。
为了解决此问题,本发明的存储器控制电路,是可改写非易失性存储器的存储器控制电路,且其特征在于包括:第一管理表,每当写入数据时将所述非易失性存储器的数据写入状态作为管理信息进行存储;第二管理表,每当规定单位的数据写入结束时复制所述第一管理表的管理信息;写入部,根据所述第一管理表的管理信息,以区块为单位向所述非易失性存储器写入新的数据;管理表更新部,更新所述第一管理表的管理信息,以禁止已进行所述写入的区块的再写入;判断部,判断所述数据的写入是否已正常执行;错误地址保存部,对于由所述判断部判断为所述数据的写入未正常执行的区块,保存该区块的地址;纠正部,在规定单位的写入完成后,依次读出保存于所述错误地址保存部中的地址数据,且进行错误的检测及纠正;以及结束控制部,当根据保存于所述错误地址保存部中的地址数据的错误状况而将规定单位的写入设为有效时,将所述第一管理表的管理信息复制到第二管理表中并正常结束,而当根据保存于所述错误地址保存部中的地址数据的错误状况而将规定单位的写入设为无效时,将所述第二管理表的管理信息复制到第一管理表中并异常结束。
在此,所述结束控制部,也可以当检测出存在m位以上的错误时,对所述写入部发出指示以将由所述纠正部纠正的数据重试写入到所述非易失性存储器的不同区块中,并且对所述管理表更新部发出指示以更新第一管理表的管理信息。
在此,所述结束控制部,也可以对所述管理表更新部发出指示,将存在n位(n≥m)以上的错误的区块设为不良区块之后,将所述第一管理表的管理信息复制到第二管理表中后正常结束。
在此,所述结束控制部,也可以当判断为保存于所述错误地址保存部中的地址数据中,至少存在一个超出纠正能力的错误时异常结束。
在此,所述结束控制部,也可以当将第二管理表的管理信息复制到第一管理表中之后,对所述管理表更新部发出指示以将存在超出纠正能力的错误的区块设为不良区块,且将所述第一管理表的管理信息复制到第二管理表中后异常结束。
为了解决该问题,本发明的非易失性存储装置的特征在于包括:可改写非易失性存储器;第一管理表,每当写入数据时将所述非易失性存储器的数据写入状态作为管理信息进行存储;第二管理表,每当规定单位的数据写入结束时复制所述第一管理表的管理信息;写入部,根据所述第一管理表的管理信息,以区块为单位向所述非易失性存储器写入新的数据;管理表更新部,更新所述第一管理表的管理信息,以禁止已进行所述写入的区块的再写入;判断部,判断所述数据的写入是否已正常执行;错误地址保存部,对于由所述判断部判断为所述数据的写入未正常执行的区块,保存该区块的地址;纠正部,在规定单位的写入完成后,依次读出保存于所述错误地址保存部的地址数据,且进行错误的检测及纠正;以及结束控制部,当根据保存于所述错误地址保存部中的地址数据的错误状况而将规定单位的写入设为有效时,将所述第一管理表的管理信息复制到第二管理表中并正常结束,而当根据保存于所述错误地址保存部中的地址数据的错误状况而将规定单位的写入设为无效时,将所述第二管理表的管理信息复制到第一管理表中并异常结束。
而且,本发明的存储器控制方法,是可改写非易失性存储器的存储器控制方法,其特征在于:每当写入数据时将所述非易失性存储器的数据写入状态作为管理信息存储到第一管理表中,每当规定单位的数据写入结束时将所述第一管理表的管理信息复制到第二管理表中,根据所述第一管理表的管理信息,以区块为单位向所述非易失性存储器写入新的数据,更新所述第一管理表的管理信息,以禁止已进行所述写入的区块的再写入,通过判断部判断所述数据的写入是否已正常执行,对于由所述判断部判断为所述数据的写入未正常执行的区块,将该区块的地址保存到错误地址保存部中,在规定单位的写入完成后,依次读出保存于所述错误地址保存部中的地址数据,且由纠正部进行错误的检测及纠正,当根据保存于所述错误地址保存部中的地址数据的错误状况而将规定单位的写入设为有效时,将所述第一管理表的管理信息复制到第二管理表中并正常结束,而当根据保存于所述错误地址保存部中的地址数据的错误状况将规定单位的写入设为无效时,将所述第二管理表的管理信息复制到第一管理表中并异常结束。
在此,也可以当检测存在m位以上的错误时,发出指示以将由所述纠正部纠正的数据重试写入到所述非易失性存储器的不同区块中,并且发出指示以更新第一管理表的管理信息。
在此,也可以更新所述第一管理表的管理信息以将存在n位以上错误的区块设为不良区块,其中n≥m,之后将所述第一管理表的管理信息复制到第二管理表中。
在此,也可以当判断为保存于所述错误地址保存部中的地址数据中,至少存在一个超出纠正能力的错误时,异常结束。
在此,在将第二管理表的管理信息复制到第一管理表中之后,更新所述第一管理表的管理信息以将存在超出纠正能力的错误的区块设为不良区块,且将所述第一管理表的管理信息复制到第二管理表中并异常结束。
[发明效果]
如上所述,本发明即使是易于发生写入错误的非易失性存储器,仅在再次读出写入数据且发生规定数量以上的错误时,进行不良区块处理,因此可防止不良区块的增加。而且,即使是有误但可纠正的数据可通过重试写入到其他区块中,而对于来自主机的写入指示降低错误结束的频率。通过使用如上所述的方法,若使用写入错误频率高的非易失性存储器,也可实现非易失性存储装置的功能,且可使非易失性存储装置实现低成本化。
附图说明
图1为含有本发明实施形态之存储器控制电路的存储卡的结构图。
图2为表示本实施形态之存储器控制电路上第一管理表及第二管理表的结构、以及这些第一管理表及第二管理表中所记载的管理数据的一例的说明图。
图3为表示本实施形态之存储器控制电路的写入处理的动作(其一)的流程图。
图4为表示本实施形态之存储器控制电路的写入处理的动作(其二)的流程图。
符号的说明
1     存储卡
2     主机接口
3     控制部
3a    写入部
3b    判断部
3c    管理表更新部
3d    纠正部
3e    结束控制部
4     RAM
5     指令ROM
6     缓冲存储器
7     快闪存储器
41     工作RAM
42     第一管理表
43     第二管理表
44     错误地址寄存器
具体实施方式
以下,对于是本发明实施形态之非易失性存储装置的存储卡及其存储器控制电路,参照图面进行说明。图1为表示包括本发明实施形态之存储器控制电路的存储卡1的结构的方块图。图1中,存储卡1例如可安装在数码相机(DSC)、个人电脑(PC)等电子产品(未图示)上进行使用。存储卡1大体由主机接口2、控制部3、RAM4、指令ROM5、缓冲存储器6、及作为可改写非易失性存储器的例如快闪存储器7而构成。此处,将含有控制部3、RAM4、指令ROM5、缓冲存储器6的部分称作存储器控制电路。
主机接口2,与安装有存储卡1的电子产品本体(以下称为主机)间进行对接,收发对快闪存储器7读写的数据、或用于进行各种控制的命令或时钟。控制部3,用于控制整个存储卡1,且是由微处理器(MPU,Micro Processor)构成。控制部3具有后述各种程序执行部。控制部3根据保存于指令ROM5的控制程序,对RAM4、快闪存储器7、缓冲存储器6进行控制。作为程序执行部,有写入部3a、判断部3b、管理表更新部3c、纠正部3d、及结束控制部3e。
指令ROM5,是专用于读出的非易失性存储器,保存用于实现所述程序执行部功能的控制程序。RAM4是由易失性存储器构成,且由作为控制部3作业用区域的工作RAM41、第一区块管理表42、第二区块管理表43、由称为错误地址寄存器44的存储区域构成。
第一区块管理表42及第二管理表43是将快闪存储器7的使用状态作为管理信息进行保存的管理表。图2表示管理表的管理信息的一例。管理表的管理信息中记录逻辑区块的地址(物理地址)及与其对应的逻辑区块地址(逻辑地址)、及各区块地址使用的有无等。管理信息的数据区域在两个管理表中的形式相同,但其更新时间不同。第一管理表42的管理信息是每当写入区块的数据时更新,但第二管理表的管理信息是以规定的写入单位、例如主机的数据传送单位进行更新。具体而言,当自主机所收集的数据的传送结束时,第一管理表42的管理信息则复制到第二管理表43中。此即表示,第一管理表42中显示当前数据的记录状态,而第二管理表43中显示上一状态下数据的记录状态。
一般而言,快闪存储器7向物理性区块(物理区块)进行读写时,是通过指定由主机所给的逻辑性区块(逻辑区块)的地址而执行。第一管理表42的一个作用在于,将该逻辑区块的逻辑地址转变为物理区块的物理地址。图2中表示作为区块地址的物理地址与逻辑地址间的对应关系、以及该物理地址(地址所指定的区块)使用的有无。
例如,图2所示的示例中,写有物理区块使用的有无、及各物理区块所分配的逻辑地址的编号。即使当表示使用有无的栏中记录为“0”,即,已使用时,逻辑地址也可能未写入。图2的示例中,表示物理地址「6」为所述状态,其物理区块为不良区块。在此,该区块不会被选择为写入地址。缓冲存储器6临时保存从主机传送的数据。而且,快闪存储器7是写入从主机传送的数据的非易失性存储器。
对于具有以上结构的存储卡1的数据写入处理,参照图3、图4所示的流程图进行说明。图3、图4所示的流程通过图1的控制部3执行。首先,作为图3所示的步骤S1,控制部3通过主机接口2,从主机接受写入命令后,将来自主机的数据临时保存在缓冲存储器6中,且以区块为单位将数据传送到快闪存储器7中。
然后,作为步骤S2,控制部3参照写入到第一管理表42中的区块管理数据,查找可写入的物理地址、即表示使用有无的管理数据为“1”的未使用的物理地址,也就是说计算写入地址。其次,作为步骤S3,将数据写入到步骤S2中所查找到的物理地址中。该步骤S3可实现写入部3a的功能,即根据第一管理表42的管理信息,以区块为单位向作为非易失性存储器的快闪存储器7写入新的数据。
其次,作为步骤S4,对快闪存储器7发出状态读取命令,根据来自快闪存储器7的应答而判断数据写入的处理状态是否正常。该步骤S4实现判断部3b的功能,即判断数据的写入是否正常。当步骤S4中判断为数据写入正常时,则进入步骤S5,将第一管理表42上相应的管理数据从“1”改写为“0”,且写入作为逻辑地址的逻辑区块编号。
另一方面,当步骤S4中判断为数据写入未正常执行时,进入步骤S6。步骤S6中,将发生错误的地址保存到错误地址寄存器44中之后,进入步骤S5,且将第一管理表42上相应的管理数据从“1”改写为“0”,并且写入发生错误的逻辑地址即逻辑区块编号。若步骤S5中完成了第一管理表42的更新,则进入步骤S7。作为步骤S7,若该写入并非为主机的最后写入,则返回到步骤S1,再反复进行步骤S1~步骤S7的处理。
若步骤S7中写入是主机的最后写入,则进入图4的步骤S8,确认错误地址寄存器44中是否存在错误地址。在此,若没有保存错误地址,则进入步骤S9,将第一管理表42的管理信息复制到第二管理表43中,正常结束写入(步骤S10)。
另一方面,图4的步骤S8中,当保存有错误地址时,则进入步骤S11,读出错误地址的数据。下一步骤S12中,纠正部3d判断是否是可纠正的错误。若为可纠正的错误,则进入下一步骤S13,判断错误数量是否在例如1位以内,若在1位以内,则不作处理。另一方面,步骤S13中,若存在超出1位的错误时,进入步骤S14,对读出数据进行纠正。
其次,作为步骤S15,控制部3参照每一写入第一管理表42中的区块的管理数据,查找可写入的物理地址,即计算写入地址。下一步骤S16中,将数据写入到步骤S15中查找到的物理地址。然后,作为步骤S17,将第一管理表42上对应的管理数据从“1”改写为“0”,并且写入作为逻辑地址的逻辑区块编号。而且,将存在错误的地址所对应的第一管理表42上的管理数据从“1”改写为“0”,且进行不良区块处理。这样,更新第一管理表42的内容。
步骤S17的处理结束后,当步骤S13中判断为数据错误在1位以内,且步骤S12中判断为无法纠正时,进入步骤S18。作为步骤S18,当错误地址寄存器44内残留其他错误地址时返回到步骤S11,当所有错误地址的处理完成后进入步骤S19。
步骤S19中,确认是否存在无法纠正的地址,若不存在无法纠正的地址时则进入步骤S9。若存在无法纠正的地址时则进入步骤S20。步骤S9中,将第一管理表42的管理信息复制到第二管理表43中。这样,正常结束写入(步骤S10)。
另一方面,图4的步骤S19中,若无法对所读出的数据进行纠正,则将一系列的写入全部设为无效,且进入步骤S20,将第二管理表43的管理信息复制到第一管理表42中。这样,第一管理表42则返回到前一个状态。若进入下一步骤S21,则将无法纠正的地址所对应的第一管理表42上的管理数据从“1”改写为“0”,进行不良区块化处理。其次,作为步骤S22,将步骤S21中经过更新的第一管理表42的管理信息复制到第二管理表43中。这样,异常结束写入(步骤S23)。
以上处理中,步骤S5、步骤S17、步骤S21中可实现管理表更新部3c的功能,即更新第一管理表42的管理信息,从而可禁止对已完成写入的区块进行再写入。而且,步骤S11、步骤S12、步骤S13、步骤S14中可实现纠正部3d的功能,即在完成规定单位的写入后,依次读出保存于错误地址寄存器44中的地址的数据,进行错误的检测及纠正。而且,步骤S9、步骤S10、步骤S19、步骤S20、步骤S21、步骤S22、步骤S23中可实现结束控制部3e的功能,即当根据保存于错误地址寄存器44中的地址数据的错误状况而将规定单位的写入设为有效时,将第一管理表42的管理信息复制到第二管理表43中后正常结束,而当根据保存于错误地址寄存器44中的地址数据的错误状况而将规定单位的写入设为无效时,将第二管理表43的管理信息复制到第一管理表42中后异常结束。
根据以上所述的本实施形态,因仅对于步骤S12中无法纠正的地址、及步骤S13中判断为写入重试的地址进行不良区块处理,因此可防止不良区块的增加。
另外,所述实施形态中,当存在2位以上错误时,进行写入重试且进行不良区块处理。即,虽设为m=2、n=2,但只要设为n≥m即可,例如可设为m=1、n=2,或者m=2、n=3。
另外,所述实施形态中,为了简化说明,仅对最初检测的无法纠正的地址进行不良区块处理且异常结束,但亦可读出错误地址上保存的所有地址的数据,且对无法纠正的所有地址进行不良区块处理。
另外,所述说明中,是对于装载有非易失性存储器的存储卡的情况进行了说明。然而,其他,也可对于例如内置有电子产品的非易失性存储器进行同样的处理,本发明并不仅限于存储卡。而且,上文中RAM4由易失性存储器构成,但也可为非易失性存储器,或是易失性存储器与非易失性存储器的组合。
[产业上的可利用性]
本发明的存储器控制电路及存储器控制方法可较好地使用于装载有控制部与非易失性存储器的非易失性存储装置中。而且,也可使用于内置有非易失性存储器的多种电子产品中。

Claims (15)

1.一种存储器控制电路,是可改写非易失性存储器的存储器控制电路,其特征在于包括:
第一管理表,每当写入数据时将所述非易失性存储器的数据写入状态作为管理信息进行存储;
第二管理表,每当规定单位的数据写入结束时复制所述第一管理表的管理信息;
写入部,根据所述第一管理表的管理信息,以区块为单位向所述非易失性存储器写入新的数据;
管理表更新部,更新所述第一管理表的管理信息,以禁止已进行所述写入的区块的再写入;
判断部,判断所述数据的写入是否已正常执行;
错误地址保存部,对于由所述判断部判断为所述数据的写入未正常执行的区块,保存该区块的地址;
纠正部,在规定单位的写入完成后,依次读出保存于所述错误地址保存部中的地址数据,且进行错误的检测及纠正;以及
结束控制部,当根据保存于所述错误地址保存部中的地址数据的错误状况而将规定单位的写入设为有效时,将所述第一管理表的管理信息复制到第二管理表中并正常结束,而当根据保存于所述错误地址保存部中的地址数据的错误状况而将规定单位的写入设为无效时,将所述第二管理表的管理信息复制到第一管理表中并异常结束。
2.根据权利要求1所述的存储器控制电路,其特征在于:
所述结束控制部,
当检测出存在m位以上的错误时,对所述写入部发出指示以将由所述纠正部纠正的数据重试写入到所述非易失性存储器的不同区块中,并且对所述管理表更新部发出指示以更新第一管理表的管理信息,且将写入设为有效。
3.根据权利要求2所述的存储器控制电路,其特征在于:
所述结束控制部,
对所述管理表更新部发出指示以将存在n位以上的错误的区块设为不良区块,其中n≥m。
4.根据权利要求1所述的存储器控制电路,其特征在于:
所述结束控制部,
当判断为保存于所述错误地址保存部中的地址数据中,至少存在一个超出纠正能力的错误时,异常结束。
5.根据权利要求4所述的存储器控制电路,其特征在于:
所述结束控制部,
在将第二管理表的管理信息复制到第一管理表中之后,对所述管理表更新部发出指示以将存在超出纠正能力的错误的区块设为不良区块,且将所述第一管理表的管理信息复制到第二管理表中并异常结束。
6.一种非易失性存储装置,其特征在于包括:
可改写非易失性存储器;
第一管理表,每当写入数据时将所述非易失性存储器的数据写入状态作为管理信息进行存储;
第二管理表,每当规定单位的数据写入结束时复制所述第一管理表的管理信息;
写入部,根据所述第一管理表的管理信息,以区块为单位向所述非易失性存储器写入新的数据;
管理表更新部,更新所述第一管理表的管理信息,以禁止已进行所述写入的区块的再写入;
判断部,判断所述数据的写入是否已正常执行;
错误地址保存部,对于由所述判断部判断为所述数据的写入未正常执行的区块,保存该区块的地址;
纠正部,在规定单位的写入完成后,依次读出保存于所述错误地址保存部的地址数据,且进行错误的检测及纠正;以及
结束控制部,当根据保存于所述错误地址保存部中的地址数据的错误状况而将规定单位的写入设为有效时,将所述第一管理表的管理信息复制到第二管理表中并正常结束,而当根据保存于所述错误地址保存部中的地址数据的错误状况而将规定单位的写入设为无效时,将所述第二管理表的管理信息复制到第一管理表中并异常结束。
7.根据权利要求6所述的非易失性存储装置,其特征在于:
所述结束控制部,
当检测出存在m位以上的错误时,对所述写入部发出指示以将由所述纠正部纠正的数据重试写入到所述非易失性存储器的不同区块中,并且对所述管理表更新部发出指示以更新第一管理表的管理信息,且将写入设为有效。
8.根据权利要求7所述的非易失性存储装置,其特征在于:
所述结束控制部,
对所述管理表更新部发出指示以将存在n位以上的错误的区块设为不良区块,其中n≥m。
9.根据权利要求6所述的非易失性存储装置,其特征在于:
所述结束控制部,
当判断为保存于所述错误地址保存部中的地址数据中,至少存在一个超出纠正能力的错误时,异常结束。
10.根据权利要求9所述的非易失性存储装置,其特征在于:
所述结束控制部,
在将第二管理表的管理信息复制到第一管理表中之后,对所述管理表更新部发出指示以将存在超出纠正能力的错误的区块设为不良区块,且将所述第一管理表的管理信息复制到第二管理表中并异常结束。
11.一种存储器控制方法,是可改写非易失性存储器的存储器控制方法,其特征在于:
每当写入数据时将所述非易失性存储器的数据写入状态作为管理信息存储到第一管理表中,
每当规定单位的数据写入结束时将所述第一管理表的管理信息复制到第二管理表中,
根据所述第一管理表的管理信息,以区块为单位向所述非易失性存储器写入新的数据,
更新所述第一管理表的管理信息,以禁止已进行所述写入的区块的再写入,
通过判断部判断所述数据的写入是否已正常执行,
对于由所述判断部判断为所述数据的写入未正常执行的区块,将该区块的地址保存到错误地址保存部中,
在规定单位的写入完成后,依次读出保存于所述错误地址保存部中的地址数据,且由纠正部进行错误的检测及纠正,
当根据保存于所述错误地址保存部中的地址数据的错误状况而将规定单位的写入设为有效时,将所述第一管理表的管理信息复制到第二管理表中并正常结束,而当根据保存于所述错误地址保存部中的地址数据的错误状况将规定单位的写入设为无效时,将所述第二管理表的管理信息复制到第一管理表中并异常结束。
12.根据权利要求11所述的存储器控制方法,其特征在于:
当检测出存在m位以上的错误时,发出指示以将由所述纠正部纠正的数据重试写入到所述非易失性存储器的不同区块中,并且发出指示以更新第一管理表的管理信息,且将写入设为有效。
13.根据权利要求12所述的存储器控制方法,其特征在于:
更新所述第一管理表的管理信息以将存在n位以上错误的区块设为不良区块,其中n≥m。
14.根据权利要求11所述的存储器控制方法,其特征在于:
当判断为保存于所述错误地址保存部中的地址数据中,至少存在一个超出纠正能力的错误时,异常结束。
15.根据权利要求14所述的存储器控制方法,其特征在于:
在将第二管理表的管理信息复制到第一管理表中之后,更新所述第一管理表的管理信息以将存在超出纠正能力的错误的区块设为不良区块,且将所述第一管理表的管理信息复制到第二管理表中并异常结束。
CN2005800159939A 2004-05-19 2005-05-12 存储器控制电路、非易失性存储装置及存储器控制方法 Active CN100407178C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004149316 2004-05-19
JP149316/2004 2004-05-19

Publications (2)

Publication Number Publication Date
CN1957337A true CN1957337A (zh) 2007-05-02
CN100407178C CN100407178C (zh) 2008-07-30

Family

ID=35394323

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800159939A Active CN100407178C (zh) 2004-05-19 2005-05-12 存储器控制电路、非易失性存储装置及存储器控制方法

Country Status (5)

Country Link
US (1) US7849382B2 (zh)
JP (1) JP4722839B2 (zh)
CN (1) CN100407178C (zh)
TW (1) TW200538925A (zh)
WO (1) WO2005111812A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103369018A (zh) * 2012-04-06 2013-10-23 株式会社东芝 存储系统及存储系统的无线通信方法
CN101853692B (zh) * 2009-04-03 2014-06-18 群联电子股份有限公司 具闪存测试功能的控制器及其储存系统与测试方法
CN107168885A (zh) * 2016-03-08 2017-09-15 东芝存储器株式会社 存储系统、信息处理系统及非易失性存储器的控制方法
CN109656835A (zh) * 2017-10-12 2019-04-19 拉碧斯半导体株式会社 非易失性存储器的数据改写方法以及半导体装置
CN117008833A (zh) * 2023-07-21 2023-11-07 汇钜电科(东莞)实业有限公司 Nand闪存中数据可靠存储的方法、装置及存储介质

Families Citing this family (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090100290A1 (en) * 2005-08-22 2009-04-16 Matsushita Electric Industrial Co., Ltd. Memory controller, nonvolatile memory device, nonvolatile memory system, and data writing method
JP2007058518A (ja) * 2005-08-24 2007-03-08 Renesas Technology Corp メモリカード
US8938594B2 (en) * 2005-11-04 2015-01-20 Oracle America, Inc. Method and system for metadata-based resilvering
US7925827B2 (en) * 2005-11-04 2011-04-12 Oracle America, Inc. Method and system for dirty time logging
EP1808863A1 (en) * 2006-01-16 2007-07-18 Deutsche Thomson-Brandt Gmbh Method and apparatus for recording high-speed input data into a matrix of memory devices
WO2007083449A1 (ja) * 2006-01-20 2007-07-26 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶装置、不揮発性記憶システム、及び不揮発性記憶装置の不良管理方法
US20090210612A1 (en) * 2006-03-16 2009-08-20 Matsushita Electric Industrial Co., Ltd. Memory controller, nonvolatile memory device, and nonvolatile memory system
WO2007132457A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
US8239735B2 (en) * 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
CN103280239B (zh) 2006-05-12 2016-04-06 苹果公司 存储设备中的失真估计和消除
US7697326B2 (en) * 2006-05-12 2010-04-13 Anobit Technologies Ltd. Reducing programming error in memory devices
JP5027805B2 (ja) * 2006-06-15 2012-09-19 パナソニック株式会社 メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶装置システム
US20100005225A1 (en) * 2006-07-26 2010-01-07 Panasonic Corporation Nonvolatile memory device, nonvolatile memory system, and host device
US20100017557A1 (en) * 2006-07-26 2010-01-21 Panasonic Corporation Memory controller, nonvolatile memory device,access device, and nonvolatile memory system
US8169848B2 (en) * 2006-07-26 2012-05-01 Panasonic Corporation Nonvolatile memory device, nonvolatile memory system, and access device
US8112575B2 (en) * 2006-08-04 2012-02-07 Panasonic Corporation Memory controller, nonvolatile memory device, access device, and nonvolatile memory system
WO2008018446A1 (fr) * 2006-08-08 2008-02-14 Panasonic Corporation Contrôleur de mémoire, dispositif de mémoire non-volatile, dispositif d'accès, et système de mémoire non-volatile
WO2008026203A2 (en) 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
JP2008070929A (ja) * 2006-09-12 2008-03-27 Matsushita Electric Ind Co Ltd メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
WO2008032711A1 (fr) * 2006-09-13 2008-03-20 Panasonic Corporation Contrôleur mémoire, dispositif de stockage non volatil, dispositif d'accès et système de stockage non volatil
WO2008053472A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7821826B2 (en) 2006-10-30 2010-10-26 Anobit Technologies, Ltd. Memory cell readout using successive approximation
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US8151163B2 (en) * 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US7900102B2 (en) * 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US7593263B2 (en) * 2006-12-17 2009-09-22 Anobit Technologies Ltd. Memory device with reduced reading latency
WO2008084681A1 (ja) 2006-12-25 2008-07-17 Panasonic Corporation メモリ制御装置、メモリ装置およびメモリ制御方法
US7751240B2 (en) 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
US8151166B2 (en) * 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
JP5161464B2 (ja) * 2007-02-14 2013-03-13 株式会社東芝 放送素材処理装置
WO2008111058A2 (en) * 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
US8001320B2 (en) * 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US8234545B2 (en) * 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8174905B2 (en) * 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
US8068360B2 (en) * 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
WO2009050703A2 (en) * 2007-10-19 2009-04-23 Anobit Technologies Data storage in analog memory cell arrays having erase failures
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
KR101509836B1 (ko) * 2007-11-13 2015-04-06 애플 인크. 멀티 유닛 메모리 디바이스에서의 메모리 유닛의 최적화된 선택
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8209588B2 (en) * 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8085586B2 (en) * 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8156398B2 (en) * 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US7924587B2 (en) * 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US8276043B2 (en) * 2008-03-01 2012-09-25 Kabushiki Kaisha Toshiba Memory system
JP5032371B2 (ja) * 2008-03-01 2012-09-26 株式会社東芝 メモリシステム
US8230300B2 (en) * 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
TWI362668B (en) * 2008-03-28 2012-04-21 Phison Electronics Corp Method for promoting management efficiency of an non-volatile memory storage device, non-volatile memory storage device therewith, and controller therewith
TWI381390B (zh) * 2008-04-10 2013-01-01 Phison Electronics Corp 快閃記憶體的損壞區塊辨識方法、儲存系統及其控制器
JP5374075B2 (ja) * 2008-06-06 2013-12-25 エイチジーエスティーネザーランドビーブイ ディスク装置及びその制御方法
US8498151B1 (en) 2008-08-05 2013-07-30 Apple Inc. Data storage in analog memory cells using modified pass voltages
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
TWI381393B (zh) * 2008-10-06 2013-01-01 Phison Electronics Corp 區塊管理與更換方法、快閃記憶體儲存系統及其控制器
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8713330B1 (en) 2008-10-30 2014-04-29 Apple Inc. Data scrambling in memory devices
US8208304B2 (en) * 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8397131B1 (en) 2008-12-31 2013-03-12 Apple Inc. Efficient readout schemes for analog memory cell devices
US8248831B2 (en) * 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US20100199060A1 (en) * 2009-02-04 2010-08-05 Panasonic Corporation Memory controller, nonvolatile memory module, access module, and nonvolatile memory system
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
TWI401691B (zh) * 2009-03-20 2013-07-11 Phison Electronics Corp 具快閃記憶體測試功能的控制器及其儲存系統與測試方法
US8832354B2 (en) * 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8767459B1 (en) 2010-07-31 2014-07-01 Apple Inc. Data storage in analog memory cells across word lines using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
JP5330428B2 (ja) * 2011-02-21 2013-10-30 株式会社東芝 データ記憶装置及び誤り検出訂正方法
CN102841853B (zh) * 2011-06-24 2016-03-02 群联电子股份有限公司 存储器管理表处理方法、存储器控制器与存储器储存装置
TWI473103B (zh) * 2011-09-14 2015-02-11 威剛科技股份有限公司 快閃記憶體儲存裝置及其不良儲存區域的判定方法
JP2013171343A (ja) 2012-02-17 2013-09-02 Toshiba Corp ストレージデバイス
KR102252379B1 (ko) 2013-06-24 2021-05-14 삼성전자주식회사 메모리 시스템 및 이의 독출 방법
US9940457B2 (en) 2015-02-13 2018-04-10 International Business Machines Corporation Detecting a cryogenic attack on a memory device with embedded error correction
US9606851B2 (en) 2015-02-02 2017-03-28 International Business Machines Corporation Error monitoring of a memory device containing embedded error correction
US10394647B2 (en) * 2017-06-22 2019-08-27 International Business Machines Corporation Bad bit register for memory
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5752066A (en) * 1992-01-06 1998-05-12 International Business Machines Corporation Data processing system utilizing progammable microprogram memory controller
JPH0750558B2 (ja) * 1992-09-22 1995-05-31 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリ
JP3178914B2 (ja) * 1992-10-14 2001-06-25 株式会社東芝 半導体ファイル装置
US5596564A (en) * 1993-10-08 1997-01-21 Matsushita Electric Industrial Co., Ltd. Information recording medium and apparatus and method for recording and reproducing information
JP2000173289A (ja) * 1998-12-10 2000-06-23 Toshiba Corp エラー訂正可能なフラッシュメモリシステム
US6525061B1 (en) * 1999-11-16 2003-02-25 Wyeth Methods for the solid phase synthesis of 2-amino-4(H)-quinazolinone derivatives
JP4031190B2 (ja) 2000-09-29 2008-01-09 株式会社東芝 メモリカード、不揮発性メモリ、不揮発性メモリのデータ書き込み方法及びデータ書き込み装置
JP4323707B2 (ja) 2000-10-25 2009-09-02 富士通マイクロエレクトロニクス株式会社 フラッシュメモリの欠陥管理方法
JP3692313B2 (ja) * 2001-06-28 2005-09-07 松下電器産業株式会社 不揮発性メモリの制御方法
JP4034949B2 (ja) * 2001-09-06 2008-01-16 株式会社ルネサステクノロジ 不揮発性半導体記憶装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101853692B (zh) * 2009-04-03 2014-06-18 群联电子股份有限公司 具闪存测试功能的控制器及其储存系统与测试方法
CN103369018A (zh) * 2012-04-06 2013-10-23 株式会社东芝 存储系统及存储系统的无线通信方法
CN103369018B (zh) * 2012-04-06 2016-08-03 株式会社东芝 存储系统及存储系统的无线通信方法
CN107168885A (zh) * 2016-03-08 2017-09-15 东芝存储器株式会社 存储系统、信息处理系统及非易失性存储器的控制方法
CN107168885B (zh) * 2016-03-08 2020-12-18 东芝存储器株式会社 存储系统、信息处理系统及非易失性存储器的控制方法
CN109656835A (zh) * 2017-10-12 2019-04-19 拉碧斯半导体株式会社 非易失性存储器的数据改写方法以及半导体装置
CN109656835B (zh) * 2017-10-12 2023-07-18 拉碧斯半导体株式会社 非易失性存储器的数据改写方法以及半导体装置
CN117008833A (zh) * 2023-07-21 2023-11-07 汇钜电科(东莞)实业有限公司 Nand闪存中数据可靠存储的方法、装置及存储介质

Also Published As

Publication number Publication date
WO2005111812A1 (ja) 2005-11-24
JPWO2005111812A1 (ja) 2008-03-27
US20080049504A1 (en) 2008-02-28
TWI364657B (zh) 2012-05-21
CN100407178C (zh) 2008-07-30
US7849382B2 (en) 2010-12-07
TW200538925A (en) 2005-12-01
JP4722839B2 (ja) 2011-07-13

Similar Documents

Publication Publication Date Title
CN1957337A (zh) 存储器控制电路、非易失性存储装置及存储器控制方法
US10719254B2 (en) Merging data from single-level cell block to multiple-level cell block based on sudden power off event and valid page count in single-level cell block
US7512864B2 (en) System and method of accessing non-volatile computer memory
US8448046B2 (en) Memory access method capable of reducing usage rate of problematic memory blocks
KR101557736B1 (ko) 새로운 불량 블록 검출
US20080195799A1 (en) Systems, methods and computer program products for operating a data processing system in which a file delete command is sent to an external storage device for invalidating data thereon
US7870328B2 (en) Memory controller and flash memory system
US20080016267A1 (en) Memory controller, flash memory system having memory controller, and method for controlling flash memory
TWI633428B (zh) 資料儲存裝置與記憶體裝置之資料處理方法
US8516184B2 (en) Data updating using mark count threshold in non-volatile memory
CN111880723B (zh) 数据储存装置与数据处理方法
US11354192B2 (en) Data storage devices and methods for firmware failure prevention
CN109697170B (zh) 存取闪存模块的方法及相关的闪存控制器与电子装置
US9811275B2 (en) Memory system and data control method
JP2004220068A (ja) メモリカード及びメモリへのデータ書き込み方法
US11216381B2 (en) Data storage devices and data processing methods
CN113220221A (zh) 存储器控制器与数据处理方法
US20070283083A1 (en) Memory controller, flash memory system with memory controller, and control method of flash memory
CN108614664B (zh) 基于NAND flash的读错误处理方法和装置
CN111324289A (zh) 一种存储器
US11307786B2 (en) Data storage devices and data processing methods
CN103389943A (zh) 控制装置、存储装置及存储控制方法
US20100042900A1 (en) Write Failure Handling of MLC NAND
JP4888333B2 (ja) フラッシュディスク装置
TWI805449B (zh) 藉助於多階段垃圾收集管理以進行記憶體裝置的存取控制的方法、用於記憶體裝置的控制器、以及記憶體裝置

Legal Events

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