CN100407178C - 存储器控制电路、非易失性存储装置及存储器控制方法 - Google Patents
存储器控制电路、非易失性存储装置及存储器控制方法 Download PDFInfo
- Publication number
- CN100407178C CN100407178C CN2005800159939A CN200580015993A CN100407178C CN 100407178 C CN100407178 C CN 100407178C CN 2005800159939 A CN2005800159939 A CN 2005800159939A CN 200580015993 A CN200580015993 A CN 200580015993A CN 100407178 C CN100407178 C CN 100407178C
- 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.)
- Active
Links
Images
Classifications
-
- 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/10—Programming or data input circuits
-
- 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/1068—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 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所述的存储器控制方法,其特征在于:
在将第二管理表的管理信息复制到第一管理表中之后,更新所述第一管理表的管理信息以将存在超出纠正能力的错误的区块设为不良区块,且将所述第一管理表的管理信息复制到第二管理表中并异常结束。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP149316/2004 | 2004-05-19 | ||
JP2004149316 | 2004-05-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1957337A CN1957337A (zh) | 2007-05-02 |
CN100407178C true 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) |
Families Citing this family (104)
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. | 不揮発性記憶装置、不揮発性記憶システム、及び不揮発性記憶装置の不良管理方法 |
WO2007105688A1 (ja) * | 2006-03-16 | 2007-09-20 | Matsushita Electric Industrial Co., Ltd. | メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム |
US8239735B2 (en) * | 2006-05-12 | 2012-08-07 | Apple Inc. | Memory Device with adaptive capacity |
CN103280239B (zh) | 2006-05-12 | 2016-04-06 | 苹果公司 | 存储设备中的失真估计和消除 |
KR101202537B1 (ko) * | 2006-05-12 | 2012-11-19 | 애플 인크. | 메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩 |
WO2007132452A2 (en) * | 2006-05-12 | 2007-11-22 | Anobit Technologies | Reducing programming error in memory devices |
US8180738B2 (en) * | 2006-06-15 | 2012-05-15 | Panasonic Corporation | Memory controller, nonvolatile storage device, and nonvolatile storage device system |
US20100005225A1 (en) * | 2006-07-26 | 2010-01-07 | Panasonic Corporation | Nonvolatile memory device, nonvolatile memory system, and host device |
JP5145227B2 (ja) * | 2006-07-26 | 2013-02-13 | パナソニック株式会社 | 不揮発性記憶装置、不揮発性記憶システム、及びホスト機器 |
WO2008013228A1 (fr) * | 2006-07-26 | 2008-01-31 | Panasonic Corporation | Contrôleur de mémoire, dispositif de stockage non-volatile, dispositif d'accès et système de stockage non-volatile |
JP4955002B2 (ja) * | 2006-08-04 | 2012-06-20 | パナソニック株式会社 | メモリコントローラ、不揮発性記憶装置、アクセス装置、及び不揮発性記憶システム |
JP5014344B2 (ja) | 2006-08-08 | 2012-08-29 | パナソニック株式会社 | メモリコントローラ、不揮発性記憶装置、アクセス装置、及び不揮発性記憶システム |
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 | メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム |
JPWO2008032711A1 (ja) * | 2006-09-13 | 2010-01-28 | パナソニック株式会社 | メモリコントローラ、不揮発性記憶装置、アクセス装置、及び不揮発性記憶システム |
WO2008053473A2 (en) | 2006-10-30 | 2008-05-08 | Anobit Technologies Ltd. | Memory cell readout using successive approximation |
US7975192B2 (en) * | 2006-10-30 | 2011-07-05 | Anobit Technologies Ltd. | Reading memory cells using multiple thresholds |
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 |
KR20090065504A (ko) * | 2006-12-25 | 2009-06-22 | 파나소닉 주식회사 | 메모리 제어 장치, 메모리 장치 및 메모리 제어 방법 |
US8151166B2 (en) * | 2007-01-24 | 2012-04-03 | Anobit Technologies Ltd. | Reduction of back pattern dependency effects in memory devices |
US7751240B2 (en) * | 2007-01-24 | 2010-07-06 | Anobit Technologies Ltd. | Memory device with negative thresholds |
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 |
US8527819B2 (en) * | 2007-10-19 | 2013-09-03 | Apple Inc. | 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 |
US8059457B2 (en) | 2008-03-18 | 2011-11-15 | Anobit Technologies Ltd. | Memory device with multiple-accuracy read commands |
US8400858B2 (en) | 2008-03-18 | 2013-03-19 | Apple Inc. | Memory device with reduced sense time readout |
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 | エイチジーエスティーネザーランドビーブイ | ディスク装置及びその制御方法 |
US7924613B1 (en) | 2008-08-05 | 2011-04-12 | Anobit Technologies Ltd. | Data storage in analog memory cells with protection against programming interruption |
US7995388B1 (en) | 2008-08-05 | 2011-08-09 | Anobit Technologies Ltd. | Data storage using modified voltages |
US8949684B1 (en) | 2008-09-02 | 2015-02-03 | Apple Inc. | Segmented data storage |
US8169825B1 (en) | 2008-09-02 | 2012-05-01 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells subjected to long retention periods |
US8482978B1 (en) | 2008-09-14 | 2013-07-09 | Apple Inc. | Estimation of memory cell read thresholds by sampling inside programming level distribution intervals |
US8000135B1 (en) | 2008-09-14 | 2011-08-16 | Anobit Technologies Ltd. | 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 |
US8261159B1 (en) | 2008-10-30 | 2012-09-04 | Apple, Inc. | Data scrambling schemes for 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 |
US8174857B1 (en) | 2008-12-31 | 2012-05-08 | Anobit Technologies Ltd. | Efficient readout schemes for analog memory cell devices using multiple read threshold sets |
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 | 具快閃記憶體測試功能的控制器及其儲存系統與測試方法 |
US8259506B1 (en) | 2009-03-25 | 2012-09-04 | Apple Inc. | Database of memory read thresholds |
US8832354B2 (en) * | 2009-03-25 | 2014-09-09 | Apple Inc. | Use of host system resources by memory controller |
CN101853692B (zh) * | 2009-04-03 | 2014-06-18 | 群联电子股份有限公司 | 具闪存测试功能的控制器及其储存系统与测试方法 |
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 | ストレージデバイス |
JP5801244B2 (ja) * | 2012-04-06 | 2015-10-28 | 株式会社東芝 | メモリシステム |
KR102252379B1 (ko) | 2013-06-24 | 2021-05-14 | 삼성전자주식회사 | 메모리 시스템 및 이의 독출 방법 |
US9606851B2 (en) * | 2015-02-02 | 2017-03-28 | International Business Machines Corporation | Error monitoring of a memory device containing embedded error correction |
US9940457B2 (en) | 2015-02-13 | 2018-04-10 | International Business Machines Corporation | Detecting a cryogenic attack on a memory device with embedded error correction |
JP6448570B2 (ja) * | 2016-03-08 | 2019-01-09 | 東芝メモリ株式会社 | ストレージシステム、情報処理システムおよび制御方法 |
US10394647B2 (en) * | 2017-06-22 | 2019-08-27 | International Business Machines Corporation | Bad bit register for memory |
JP7153435B2 (ja) * | 2017-10-12 | 2022-10-14 | ラピスセミコンダクタ株式会社 | 不揮発性メモリのデータ書換方法及び半導体装置 |
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 |
CN117008833B (zh) * | 2023-07-21 | 2024-09-17 | 汇钜存储科技(东莞)有限公司 | Nand闪存中数据可靠存储的方法、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06131886A (ja) * | 1992-10-14 | 1994-05-13 | Toshiba Corp | 半導体ファイル装置 |
US5752066A (en) * | 1992-01-06 | 1998-05-12 | International Business Machines Corporation | Data processing system utilizing progammable microprogram memory controller |
JP2000173289A (ja) * | 1998-12-10 | 2000-06-23 | Toshiba Corp | エラー訂正可能なフラッシュメモリシステム |
JP2002133892A (ja) * | 2000-10-25 | 2002-05-10 | Fujitsu Ltd | フラッシュメモリの欠陥管理方法 |
JP2003076615A (ja) * | 2001-09-06 | 2003-03-14 | Hitachi Ltd | 不揮発性半導体記憶装置 |
CN1465012A (zh) * | 2001-06-28 | 2003-12-31 | 松下电器产业株式会社 | 非易失性存储器的控制方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0750558B2 (ja) * | 1992-09-22 | 1995-05-31 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 一括消去型不揮発性メモリ |
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 |
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 | 株式会社東芝 | メモリカード、不揮発性メモリ、不揮発性メモリのデータ書き込み方法及びデータ書き込み装置 |
-
2005
- 2005-05-12 JP JP2006513548A patent/JP4722839B2/ja active Active
- 2005-05-12 CN CN2005800159939A patent/CN100407178C/zh active Active
- 2005-05-12 US US11/568,564 patent/US7849382B2/en not_active Expired - Fee Related
- 2005-05-12 WO PCT/JP2005/008681 patent/WO2005111812A1/ja active Application Filing
- 2005-05-17 TW TW094115998A patent/TW200538925A/zh not_active IP Right Cessation
Patent Citations (6)
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 |
JPH06131886A (ja) * | 1992-10-14 | 1994-05-13 | Toshiba Corp | 半導体ファイル装置 |
JP2000173289A (ja) * | 1998-12-10 | 2000-06-23 | Toshiba Corp | エラー訂正可能なフラッシュメモリシステム |
JP2002133892A (ja) * | 2000-10-25 | 2002-05-10 | Fujitsu Ltd | フラッシュメモリの欠陥管理方法 |
CN1465012A (zh) * | 2001-06-28 | 2003-12-31 | 松下电器产业株式会社 | 非易失性存储器的控制方法 |
JP2003076615A (ja) * | 2001-09-06 | 2003-03-14 | Hitachi Ltd | 不揮発性半導体記憶装置 |
Also Published As
Publication number | Publication date |
---|---|
JP4722839B2 (ja) | 2011-07-13 |
WO2005111812A1 (ja) | 2005-11-24 |
US20080049504A1 (en) | 2008-02-28 |
TW200538925A (en) | 2005-12-01 |
CN1957337A (zh) | 2007-05-02 |
JPWO2005111812A1 (ja) | 2008-03-27 |
TWI364657B (zh) | 2012-05-21 |
US7849382B2 (en) | 2010-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100407178C (zh) | 存储器控制电路、非易失性存储装置及存储器控制方法 | |
CN102163133B (zh) | 针对具有可擦除/可重写存储器使用带有主机装置的一次或数次可编程存储器的方法及装置 | |
RU2146399C1 (ru) | Способ записи данных в энергонезависимое запоминающее устройство, способ использования устройства на интегральных схемах, устройство на интегральных схемах | |
US6789158B2 (en) | Method of rewriting program in a flash microcomputer | |
EP0907142B1 (en) | Memory card apparatus | |
JP3233079B2 (ja) | データ処理システム及びデータ処理方法 | |
CN107943414A (zh) | 嵌入式Linux的文件系统分区及数据读写方法 | |
CN101978357A (zh) | 数据更新方法、存储器系统和存储器设备 | |
JP2846739B2 (ja) | Eepromメモリの安全更新方法 | |
CN109582216A (zh) | 数据储存装置与存储器装置的数据处理方法 | |
US20070174622A1 (en) | Protection of data of a memory associated with a microprocessor | |
CN105320621A (zh) | 存储器系统以及信息处理装置 | |
CN107863127A (zh) | 一种存储设备存储单元选择方法及装置 | |
US7685356B2 (en) | Chronological identification in flash memory using cyclic numbers | |
US20100169572A1 (en) | Data storage method, apparatus and system for interrupted write recovery | |
CN109325005A (zh) | 一种数据处理方法和电子设备 | |
CN105867833A (zh) | 数据存储装置及数据存储方法 | |
US20060069847A1 (en) | Corruption tolerant method and system for deploying and modifying data in flash memory | |
CN110321073B (zh) | 一种闪存的数据存储方法和装置以及设备 | |
EP4184331A1 (en) | Method and apparatus for performing access control of memory device with aid of multi-stage garbage collection management | |
CN101685411A (zh) | 自动备份及还原数据的方法及可被计算机读取的物品 | |
JP3019346B2 (ja) | データ処理装置 | |
JPS58154043A (ja) | 情報処理装置 | |
CN101206896B (zh) | 写遗漏检测器和写遗漏检测方法 | |
JP2006059204A (ja) | Icカードおよびicカードのメモリアクセス制御方法および制御装置 |
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 |