非易失性存储装置、存储控制器以及不良区域检测方法

文档序号:6568583阅读:205来源:国知局
专利名称:非易失性存储装置、存储控制器以及不良区域检测方法
技术领域
本发明涉及在使用了用于提高在非易失性存储器中记录的数据 的可靠性的纠错功能的非易失性存储装置中,用于降低由于非易失性 存储器的不良而引起的非偶发性读出错误的非易失性存储装置、存储 控制器以及不良区域检测方法。
背景技术
近年来,搭栽了非易失性存储器的存储卡作为数字照相机或者便 携电话机的存储卡正在扩大市场。然而,非易失性存储器在每次改写 数据时存储单元逐渐恶化,最终发生写入或者读出的错误。当然,如 果可靠性充分高,几乎可以忽视由改写引起的存储单元的恶化,则即 使使用十年也不会产生什么问题。然而实际上有时并非如此,通过在控制非易失性存储器的系统中搭栽ECC (错误检查和纠正)电路等纠 错电路,实现实质上可靠性高的存储卡。然而,由于工艺的微细化减小存储单元的尺寸,或者由于实现大 容量的多值化难以确保存储单元单体的可靠性。另外,由于在发展大 容量的同时增加存储器的图形,还增加产品检查的时间,因此难以充 分高精度地检查器件。作为管理闪速存储器的写入或者读出的错误的方法,在专利文献 1中提出了对读出、写入中的错误发生信息进行计数,使得不使用恶 化了的区域的方法。另外,在专利文献2中提出对于读出错误连续的 区域进行替代处理的方法。专利文献l:特开平11 -53266号^>才艮专利文献2: WO01 /022232非易失性存储器具有在存储单元上不 施加偏压等能量而持续保持数据的性能。这表现出保持数据的状态是稳定的。与作为易失性存储器的SRAM通过施加能量保持数据完全 不同。从而,为了改写非易失性存储器的数据,需要在处于稳定状态 的存储单元中施加能量,此时,虽然很微小但仍将产生存储单元的恶 化。以在闪速存储器等非易失性存储器中发生的存储单元恶化为原 因的错误更多地起因于数据的改写,数据读出引起的影响小。考虑到 这一点,能够适当地进行错误发生时的处理,然而,在专利文献l或 者专利文献2中记栽的非易失性存储装置中,并没有充分考虑数据改 写和数据读出引起的非易失性存储器的恶化。另外,虽然与数据改写 时相比较,数据读出引起的对错误发生的影响极小,但是在反复多次 对同一个数据读出时,由于发现的不是存储单元的恶化,而是逐渐进 行的数据自身的恶化,因此数据读出的影响也不能忽视。但是,在专 利文献1或者专利文献2记载的非易失性存储装置并没有充分考虑这 种进行性的数据的恶化。例如,作为一般的非易失性存储器的代表的NAND型闪速存储 器以根据ECC电路的纠错为前提产品化。这是因为偶发性的比特错 误在非易失性存储器中不可避免。从而,使用NAND型闪速存储器的 存储卡的存储控制器在其内部具有生成ECC码的功能或者检测并纠 正错误的功能。存储控制器使用ECC电路纠正偶发性的比特错误, 再次利用发生了错误的物理块。由此提高存储卡的实质性的可靠性。然而,虽然与偶发性的比特错误相比较频率低,但是由于存储单 元的恶化等的原因在物理块中固有存在的不良,有时在读出时发生比 特错误。在使用可靠性充分高,比特错误的发生频率低的NAND型闪 速存储器的情况下,如现有的存储控制器那样,并不判断所发生的比 特错误是偶发性还是固有不良,限制使用物理块,在闪速存储器的使 用中也不会发生问题。但是,由于闪速存储器的工艺的微细化或者多 值化,比特错误的发生频率比以往升高。根据这一点,需要以进行纠错为前提,容许存在比特错误,需要即使发生比特错误,纠正其错误, 继续使用闪速存储器。然而,在比特错误的主要原因是存储单元的固 有不良时,存在固有不良的物理块频繁发生存储卡的读出错误。例如,有时由于存储卡的物理块中存在的固有不良引起数据错 误,不能观看用数字照相机拍摄的静止图像。这种情况下,如果在数 字照相机的系统上删除静止图像的数据,则对以后拍摄的静止图像再 次利用同一个块,再次发生数据错误。这样频繁发生不能观看静止图 像的情况。另外,如果不是固有不良,而是对于相同的数据反复进行次数非 常多的读出,则比特错误虽然是逐渐地但在不断增加,有时会使数据 恶化下去。这种情况下,在使用可靠性充分高、比特错误的发生频率低的NAND型闪速存储器的情况下,也可以像现有的存储控制器那 样,根据比特错误的发生,限制使用物理块。然而,在以进行纠错为 前提的情况下,即必须允许比特错误存在的情况下,需要即使发生比 特错误,也在纠正错误后继续使用闪速存储器。从而,导致由数据的 恶化引起的比特错误的比特数超过纠错能力,发生不能纠正的读出错 误的结果。鉴于这些情况,开发降低读出错误的存储卡成为一个课题。发明内容本发明在闪速存储器内准确地检测出推测为存在固有不良、或者 累积由读出引起的比特不良并推测为超过纠错能力的物理块。进而,其目的在于通过限制或者避免对该物理块的写入或者读出,提供可靠 性高的非易失性存储装置。为了解决该课题,本发明的非易失性存储装置是一种具备非易失 性存储器和存储控制器的非易失性存储装置,上述非易失性存储器具 备多个作为清除单位的物理块,上述物理块具有多个作为写入单位的 物理页,上述存储控制器具备进行上述存储控制器内部中的整体控 制的运算处理单元;具有对于从上述非易失性存储器读出的数据检测 错误的功能和在能够纠正错误时进行纠正的功能的纠错电路;保持用于管理保存在上述非易失性存储器中的数据所需要的表的地址表,上述存储控制器的地址表具备具有多个错误记录的错误表,所述错误 记录是关于由上述纠错电路检测出了读出错误的物理块的、与上述读 出错误有关的信息;具有对于上述非易失性存储器的各个物理块、数 据是写入完毕还是清除完毕的信息的项目表;表示由主设备从外部指 定的逻辑块地址与上述非易失性存储器的物理块地址的变换信息的 逻辑物理变换表,上述运算处理单元根据来自上述纠错电路的错误检 测,登录并更新上述错误表的错误记录,决定是否使用检测出了上述 读出错误的物理块。这里,也可以是,上述存储控制器的地址表还具备记录与禁止数 据的写入以及读出的物理块的地址有关的信息的不良块表,上述错误 表的错误记录具备当上述纠错电路检测出了从上述非易失性存储器 读出的数据的错误时,记录表示发生了错误的物理块的地址的信息的 错误块信息;记录表示发生了上述错误的信息的错误信息;记录表示 在发生了上述错误以后、清除上述物理块的数据、写入了新的数据的 信息的错误块清除信息;表示在上述错误块清除信息中记录了信息以 后、在同一个物理块中再次检测出读出错误的错误再发生信息,上述 运算处理单元在上述非易失性存储器中写入数据时,参照上述错误表,当关于写入数据的物理块、存在至少记录了上述错误块信息和上 述错误再发生信息的上述错误记录时,在上述不良块表中记录与写入 上述数据的物理块的地址有关的信息。这里,也可以是,上述错误表的错误记录还具备写入了由上述纠 错电路检测出了读出错误的上述物理页的地址的错误页信息。这里,也可以是,上述运算处理单元只有在不能由上述纠错电路 纠正上述纠错电路所检测出的读出错误时,在上述错误表的错误记录 中记录以及更新信息。这里,也可以是,上述运算处理单元只有在不能由上述纠错电路 纠正上述纠错电路所检测出的读出错误时,在上述错误表的错误记录 中记录以及更新信息。这里,也可以是,上述存储控制器的地址表还具备记录与禁止数 据的写入以及读出的物理块的地址有关的信息的不良块表,上述错误表的错误记录具备在上述纠错电路检测出了从上述非易失性存储器 读出的数据的错误时,记录表示发生了错误的物理块的地址的信息的 错误块信息;作为表示读出错误发生的次数的信息的错误计数信息; 表示对发生上述读出错误的物理块进行了物理清除的次数的错误块 清除计数信息,上述运算处理单元在上述非易失性存储器中写入数据 时,参照上述错误表,当关于写入数据的物理块、存在记录了上述错 误块信息的上述错误记录时,对上述错误计数信息与上述错误块清除 信息进行比较,上述错误块清除信息表示预定的次数,而且上述错误 计数信息的值比上述错误块清除信息大时,在上述不良块表中记录与 写入上述数据的物理块的地址有关的信息。这里,也可以是,上述错误表的错误记录还具备写入了由上述纠 错电路检测出了读出错误的上述物理页的地址的错误页信息。这里,也可以是,上述运算处理单元中,如果上述纠错电路检测 出读出错误,则与能否由上述纠错电路进行纠正无关,登录以及更新 上述错误表的错误记录。这里,也可以是,上述运算处理单元中,如果上述纠错电路检测 出读出错误,则与能否由上述纠错电路进行纠正无关,登录以及更新 上述错误表的错误记录。这里,也可以是,上述错误表的错误记录具备写入了上述纠错 电路检测出了读出错误的物理块的地址的错误块信息;写入了上述纠 错电路检测出了上述读出错误的物理页的地址的错误页信息;记录表 示上述读出错误的比特数的信息的错误比特计数,上述运算处理单元 使用具有小于等于能够由上述纠错电路纠正的错误比特数的值、而且 预先确定的纠正阈值,读出与上述错误比特计数的信息大于等于上述 纠正阈值的上述错误表的错误记录相对应的物理块的数据,使上述纠 错电路纠正读出的数据的错误,把该纠正了的数据写入到其它的物理 块中。这里,也可以是,上述运算处理单元在没有进行来自外部的对上 述非易失性存储器的数据读出处理时,使用具有小于等于能够由上述 纠错电路纠正的错误比特数的值、而且预先确定的纠正阈值,读出与 上述错误比特计数的信息大于等于上述纠正阈值的上述错误表的错 误记录相对应的物理块的数据,使上述纠错电路纠正读出的数据的错 误,把该纠正了的数据写入到其它的物理块中。这里,也可以是,上述错误表的错误记录具备记录表示上述纠 错电路检测出了读出错误的物理块的地址的信息的错误块信息;记录 表示上述纠错电路检测出了读出错误的上述物理页的地址的信息的 错误页信息;记录表示发生了具有小于等于能够由上述纠错电路纠正信息的错误发生信息,上述运算处理单元读出与记录了上述错误发生 信息的上述错误表的错误记录相对应的物理块的数据,使上述纠错电 路纠正读出的数据的错误,把该纠正了的数据写入到其它的物理块 中。这里,也可以是,上述运算处理单元在没有进行读出上述非易失 性存储器的数据的处理时,读出与记录了上述错误发生信息的上述错 误表的错误记录相对应的物理块的数据,使上述纠错电路纠正读出的 数据的错误,把该纠正了的数据写入到其它的物理块中。为了解决该课题,本发明的存储控制器是一种对于具备多个作为 清除单位的物理块、上述物理块具有多个作为写入单位的物理页而构 成的非易失性存储器,控制数据的读出以及写入的存储控制器,具备 进行上述存储控制器内部中整体控制的运算处理单元;具有对于从上 述非易失性存储器读出的数据检测错误的功能和在能够纠正错误时 进行纠正的功能的纠错电路;保持用于管理保存在上述非易失性存储 器中的数据所需要的表的地址表,上述地址表具备具有多个错误记 录的错误表,所述错误记录是关于由上述纠错电路检测出了读出错误 的物理块的、与上述读出错误有关的信息;具有对于上述非易失性存 储器的各个物理块、数据是写入完毕还是清除完毕的信息的项目表;表示由主设备从外部指定的逻辑块地址与上述非易失性存储器的物 理块地址的变换信息的逻辑物理变换表,上述运算处理单元根据来自 上述纠错电路的错误检测,登录并更新上述错误表的错误记录,决定 是否使用检测出了上述读出错误的物理块。这里,也可以是,上述地址表还具备记录与禁止数据的写入以及 读出的物理块的地址有关的信息的不良块表,上述错误表的错误记录具备当上述纠错电路检测出了从上述非易失性存储器读出的数据的 错误时,记录表示发生了错误的物理块的地址的信息的错误块信息; 记录表示发生了上述错误的信息的错误信息;记录表示在发生了上述 错误以后、清除上述物理块的数据、写入了新的数据的信息的错误块 清除信息;表示在上述错误块清除信息中记录了信息以后、在同一个 物理块中再次检测出读出错误的错误再发生信息,上述运算处理单元 在上述非易失性存储器中写入数据时,参照上述错误表,当关于写入 数据的物理块、存在至少记录了上述错误块信息和上述错误再发生信 息的上述错误记录时,在上述不良块表中记录与写入上述数据的物理 块的地址有关的信息。这里,也可以是,上述错误表的错误记录还具备写入了上述纠错 电路检测出了读出错误的上述物理页的地址的错误页信息。这里,也可以是,上述运算处理单元中,只有在不能由上述纠错 电路纠正上述纠错电路所检测出的读出错误时,在上述错误表的错误 记录中记录以及更新信息。这里,也可以是,上述运算处理单元中,只有在不能由上述纠错 电路纠正上述纠错电路所检测出的读出错误时,在上述错误表的错误 记录中记录以及更新信息。这里,也可以是,上述地址表还具备记录与禁止数据的写入以及 读出的物理块的地址有关的信息的不良块表,上述错误表的错误记录 具备在上述纠错电路检测出了从上述非易失性存储器读出的数据的 错误时,记录表示发生了错误的物理块的地址的信息的错误块信息; 作为表示读出错误发生的次数的信息的错误计数信息;表示对发生上述读出错误的物理块进行了物理清除的次数的错误块清除计数信息, 上述运算处理单元在上述非易失性存储器中写入数据时,参照上述错 误表,当关于写入数据的物理块、存在记录了上述错误块信息的上述 错误记录时,对上述错误计数信息与上述错误块清除信息进行比较, 上述错误块清除信息表示预定的次数,而且上述错误计数信息的值比 上述错误块清除信息大时,在上述不良块表中记录与写入上述数据的 物理块的地址有关的信息。这里,也可以是,上述错误表的错误记录还具备写入了上述纠错 电路检测出了读出错误的上述物理页的地址的错误页信息。这里,也可以是,上述运算处理单元中,如果上述纠错电路检测 出读出错误,则与能否由上述纠错电路进行纠正无关,登录以及更新 上述错误表的错误记录。这里,也可以是,上述运算处理单元中,如果上述纠错电路检测 出读出错误,则与能否由上述纠错电路进行纠正无关,登录以及更新 上述错误表的错误记录。这里,也可以是,上述错误表的错误记录具备写入了上述纠错 电路检测出了读出错误的物理块的地址的错误块信息;写入了上述纠 错电路检测出了上述读出错误的物理页的地址的错误页信息;记录表 示上述读出错误的比特数的信息的错误比特计数,上述运算处理单元 使用具有小于等于能够由上述纠错电路纠正的错误比特数的值、而且 预先确定的纠正阈值,读出与上述错误比特计数的信息大于等于上述 纠正阈值的上述错误表的错误记录相对应的物理块的数据,使上述纠 错电路纠正读出的数据的错误,把该纠正了的数据写入到其它的物理 块中。这里,也可以是,上述运算处理单元在没有进行来自外部的对上 述非易失性存储器的数据读出处理时,使用具有小于等于能够由上述 纠错电路纠正的错误比特数的值、而且预先确定的纠正阈值,读出与 上述错误比特计数的信息大于等于上述纠正阈值的上述错误表的错 误记录相对应的物理块的数据,使上述纠错电路纠正读出的数据的错误,把该纠正了的数据写入到其它的物理块中。这里,也可以是,上述错误表的错误记录具备记录表示上述纠 错电路检测出了读出错误的物理块的地址的信息的错误块信息;记录 表示上述纠错电路检测出了读出错误的上述物理页的地址的信息的 错误页信息;记录表示发生了具有小于等于能够由上述纠错电路纠正 的错误比特数的值而且大于等于预先确定的纠正阈值的读出错误的 信息的错误发生信息,上述运算处理单元读出与记录了上述错误发生 信息的上述错误表的错误记录相对应的物理块的数据,使上述纠错电 路纠正读出的数据的错误,把该纠正了的数据写入到其它的物理块 中。这里,也可以是,上述运算处理单元在没有进行读出上述非易失 性存储器的数据的处理时,读出与记录了上述错误发生信息的上述错 误表的错误记录相对应的物理块的数据,使上述纠错电路纠正读出的 数据的错误,把该纠正了的数据写入到其它的物理块中。为了解决该课题,本发明的不良区域检测方法是一种非易失性存 储装置的不良区域检测方法,该非易失性存储装置具备具有多个作 为清除单位的物理块,上述物理块具有多个作为写入单位的物理页而 构成的非易失性存储器;存储控制器,包括具备对来自上述非易失性 存储器的读出数据检测错误的功能以及在能够纠正错误时进行纠正 的功能的纠错电路、保持多个错误记录的错误表,该错误记录是关于 检测出了读出错误的物理块的、与上述读出错误有关的信息,在该不 良区域检测方法中,在读出数据时根据从外部指定的逻辑地址决定物 理地址,从与上述物理地址相对应的物理块读出数据,在该读出数据 中有能够纠正的错误时,纠正上述错误并输出到外部,把上述物理地 址登录在上述错误表中。这里,也可以是,当改写了在上述错误表中登录了物理地址的物 理块的数据时,把表示改写了上述数据的信息登录到上述错误表中, 在从改写了上述数据的物理块读出的数据中有能够纠正的错误时,纠 正该错误并输出到外部,同时,把表示在改写了上述数据以后发生了错误的错误再发生信息登录到上述错误表中,对于在上述错误表中登 录了上述错误再发生信息的物理块,禁止数据的写入以及读出。这里,也可以是,当改写了在上述错误表中登录了物理地址的物 理块的数据时,把表示改写了上述数据的次数的错误块清除计数登录 到上述错误表中,在从改写了上述数据的物理块读出的数据中有能够 纠正的错误时,纠正该错误输出到外部,同时,把表示在改写了上述 数据以后发生错误的次数的错误计数登录到上述错误表中,在上述错 误计数表示出大于等于预定的值时,禁止数据向登录了上述错误计数 的物理块的写入以及读出。为了解决该课题,本发明的不良区域检测方法是一种非易失性存储装置的不良区域检测方法,该非易失性存储装置具备具有多个作 为清除单位的物理块,上述物理块具有多个作为写入单位的物理页而 构成的非易失性存储器;存储控制器,包括具备对来自上述非易失性 存储器的读出数据检测错误的功能以及在能够纠正错误时进行纠正 的功能的纠错电路、保持多个错误记录的错误表,该错误记录是关于 检测出了读出错误的物理块的、与上述读出错误有关的信息,该不良 区域检测方法具有根据从外部指定的逻辑地址决定物理地址,确定 读出数据的物理块的确定步骤;从上述物理块读出数据的数据读出步 骤;在该读出的数据中有能够纠正的错误时,纠正上述错误并输出到 外部的数据输出步骤;把发生了上述能够纠正的错误的物理块的物理 地址和与错误数有关的信息登录到上述错误表中的错误数登录步骤。这里,具有复制步骤,当与登录在上述错误表中的错误数有关的 信息表示出大于等于预定的值时,把写入到上述物理块中的数据复制 到其它物理块中。这里,也可以是,在上述数据读出步骤与上述数据输出步骤之间 进行上述复制步骤。这里,也可以是,在没有对上述非易失性存储装置执行来自外部 的数据写入以及读出时,进行上述复制步骤。这里,也可以是,在对上述非易失性存储装置接通电源之后紧接着进行上述复制步骤。依据本发明,通过适当地推定设想为错误发生概率高的物理块, 能够限制或避免数据对该物理块的写入或读出,能够提供可靠性高的 非易失性存储装置。


图l是表示了第1实施例的非易失性存储装置的结构的框图。图2是表示了闪速存储器的内部结构的框图。 图3是表示了物理块201的内部结构的框图。 图4表示了 BB表112的结构。 图5表示了 ECC错误表lll的结构。图6表示了第1实施例的ECC错误记录和保存在ECC错误记录中的信息的变化。图7是第1实施例的读出的流程图。图8是第1实施例的ECC错误表登录的流程图。图9是第1实施例的物理清除时的ECC错误表更新的流程图。图IO表示了第2实施例的ECC错"^记录。图11是表示了第2实施例的ECC错误表登录的流程图。图12表示了第3实施例的ECC错误记录和保存在ECC错误记录中的信息的变化。图13是第3实施例的ECC错误表登录的流程图。图14是第3实施例的物理清除时的ECC错误表更新的流程图。图15是第4实施例的读出的流程图。图16表示进行性错误的发生状况。图17是表示第5实施例的非易失性存储装置的结构的框图。图18是表示了闪速存储器的内部结构的框图。图19是表示了物理块201的内部结构的框图。图20表示了 ECC错误表lll的结构。图21表示了第5实施例的ECC错误记录。图22是第5实施例的读出的流程图。 图23是第5实施例的ECC错误表登录的流程图。 图24是第5实施例的数据纠正复制处理的流程图。 图25是第6实施例的读出的流程图。 图26是第6实施例的数据纠正复制处理的流程图。 (附图标记说明)101:存储卡102:存储控制器103:闪速存储器104:主接口105:MPU106:地址表107:闪速接口108:緩沖存储器109:ECC电路110:逻辑物理变换表111:ECC错误表112:BB表113:项目表501:ECC错误记录601:错误块602:错误发生信息603:错误块清除信息604:错误再发生信息701:存储卡702:存储控制器703:闪速存储器704:主接口705:MPU706:地址表707:闪速接口708:緩沖存储器709:ECC电路710:逻辑物理变换表711:ECC错误表712:项目表801:ECC错误记录1001:错误页1201:错误块1202:错误计数1203:错误块清除计数1601:错误比特计数具体实施方式
(实施例1)图l是表示第1实施例的非易失性存储装置的结构的框图。存储卡101具备存储控制器102和作为非易失性存储器的闪速存储器103。 图2是表示闪速存储器103的内部结构的框图。这里,说明具有 1G比特容量的闪速存储器。闪速存储器103的内部由PB0~PB1023 共1024个物理块构成。物理块在闪速存储器103中是数据清除的最 小单位。1个物理块容量是128kB + 4kB,具有不是2的幂值而是比2 的幂稍大的容量。这里,没有表现为132kB而是表现为128kB + 4kB 是为了表示在1个物理块中能够写入的数据的容量是128kB,在此基 础上,进而在4kB的区域中写入ECC码或者该^理块逻辑地址值等 管理数据。图3是表示物理块的内部结构的框图。闪速存储器103内的各物 理块具备64个物理页PP0 PP63。物理页在闪速存储器103中是数 据写入的最小单位。1个物理物理块的情况相同,表示在1个物理页中能够写入的数据的容量是
2kB,其余的64B中写入包括ECC的管理数据。
存储控制器102具有主接口 104、地址表106、闪速接口 107、 緩冲存储器108、 ECC电路109、 MPU (小型运算单元)105。主接 口 104控制与连接在存储卡101外部的主设备的接口 。
地址表106是具有保存在闪速存储器103中的数据的管理信息的 表,具有逻辑物理变换表IIO, ECC错误表lll、项目表113、 BB(不 良块)表112。这些表保持在易失性存储器中。
逻辑物理变换表110是表示作为从存储卡101的外部指定的逻辑 地址的逻辑块的地址与作为闪速存储器103的内部物理地址的物理块 的地址的对应关系的表。逻辑物理变换表110用于从逻辑地址得到与 该逻辑块相对应的物理地址。
ECC错误表111具有发生了读出错误的物理块的物理地址、数 据的物理清除的历史、或物理清除后的读出错误的发生历史等信息, 在固有不良的物理块的检测中使用。
项目表113是具有分别用1比特表示对于闪速存储器103的各个 物理块、数据是写入完毕还是清除完毕的信息的表。例如,数据写入 完毕的物理块用比特"O,,表示,清除完毕的物理块用比特"l"表示。
图4表示BB表112的结构。BB表112具备与闪速存储器103 的物理块相同数量的BB记录i (i = 0~1023) 。 BB记录i分别与物 理块一对一对应,具有相对应的物理块的地址。进而,关于相对应的 物理块是否是不良块,具有用1比特表示的信息。在BB记录i中, 不良块的物理块表示为比特"O",非不良的物理块表示为比特"l"。这 里,BB表112也可以不对于所有的物理块具有BB记录i。也可以仅 对于不良块具有BB记录i。
闪速接口 107通过后述的MPU105的控制,在闪速存储器103 中写入緩沖存储器108的数据,或者把闪速存储器103的数据写入到 緩冲存储器108中,或者清除闪速存储器103的数据。緩沖存储器108 是在外部的主设备与闪速存储器103之间的数据写入和读出时,用于暂时保持数据的易失性存储器。
ECC电路109生成添加到从緩冲存储器108向闪速存储器103 传送的写入数据中的ECC的代码。另外,ECC电路109是对于从闪 速存储器103读出到緩冲存储器108的数据,进行ECC运算,检测 错误,在其错误是可纠正的错误的情况下,纠正緩冲存储器108的数 据的纠错电路。
MPU105是进行存储控制器102整体控制的微机。在与主设备之 间进行数据的写入和读出时直接控制主接口 104、 ECC电路109、闪 速接口 107、地址表106。特别是在读出数据中有错误的情况下, MPU105参照地址表106内的ECC错误表111的信息,根据需要, 进行ECC错误表lll的更新。其结果,如果有应该禁止使用的物理 块,则MPU105在BB表112的BB记录i中记录该物理块的信息, 更新BB表112。进而MPU105根据更新后的BB表的内容,还进行 项目表的更新。
图5表示ECC错误表111的结构。ECC错误表111由用16进 制数表示的并0 并F的16个ECC错误记录# i构成。图6表示ECC 错误记录# i的信息组和保存在ECC错误记录# i中的信息的变化。 各ECC错误记录# i具备错误块601、错误发生信息602、错误块清 除信息603、错误再发生信息604。错误块601保存发生了读出错误 的物理块201的物理地址。错误发生信息602是表示发生了最初的读 出错误的信息。错误块清除信息603是表示在发生了最初的读出错误 以后,对该物理块201进行了物理清除的信息。错误再发生信息604 是表示在发生了最初的读出错误以后,尽管进行了物理清除,但再次 在同一个物理块中发生了读出错误的信息。
图7是本实施例的非易失性存储装置中的数据读出的流程图。在 外部主设备从存储卡101读出数据时,外部主设备向存储卡101传送 读出指令和开始地址。接收到该指令和开始地址后,主接口 104对
MPU105通知其接收。图7的流程图表示接收了该通知以后的处理。 MPU105使用开始地址,把与128kB单位相对应的上位地址部分作为逻辑块地址,从逻辑物理变换表110得到物理块地址。设与 128kB以下相对应的下位的地址部分作为逻辑页地址,按原样与逻辑 页相同。接着,MPU105向闪速存储器接口 107指示进行读出的物理 块的地址和物理页的地址,从闪速存储器103读出数据(S701)。接着,ECC电路109对在S701中读出的数据判定是否发生了读 出错误(S702)。在没有检测出读出错误的情况下,MPU105对主接 口 104指示数据向外部主设备的输出(S705)。然后,只要继续进行 读出(S706),则就以读出的单位增加地址,同时,循环至S701,继 续进行数据的读出处理。在S702中检测出了读出错误的情况下,ECC电路109判断其读 出错误能否纠正(S703 )。在能纠正的情况下,纠正读出错误(S704 )。 在读出错误的纠正后,转移到S705,输出读出数据。在不能纠正读出 错误的情况下,进行ECC错误表的登录(S707),登录以后结束读 出处理。这里,使用图8的流程图说明ECC错误表的登录处理(S707)。 如果不能纠正读出错误,则MPU105检索ECC错误表lll的登录状 态(S801)。具体地讲,检查发生了读出错误的物理块的物理地址是 否与ECC错误记录# i的某一个错误块601的值一致。其次,在S801的检索中没有一致的ECC错误记录并i时,判断 为没有登录(S802)。接着,MPU105新登录错误块601和错误发生 信息602 ( S803 )。图6 ( b )表示新登录后的状态。在错误块601中, 作为有效值写入发生了读出错误的物理块的地址。在错误发生信息 602中写入表示发生了读出错误的信息"l",在错误块清除信息603和 错误再发生信息604中写入"O"。在S802中有登录的情况下,MPU105判断是否是在物理清除以 后发生的读出错误(S804)。如果在错误块601中有登录的ECC错 误记录并i的错误块清除信息603是"0",则由于不是物理清除以后发 生的读出错误,因此不进行ECC错误记录弁i的更新和ECC错误表 111的登录,结束登录处理。即使发生读出错误、在错误发生信息602中登录了"l"以后计数读出错误的发生次数,只要读出相同块的相同 数据,就不能判断所发生的错误是偶发性的还是因固有不良引起的。由此,不进行ECC错误记录并i的更新,结束登录处理。在S804中,如果错误记录并i是图6 (c)表示的状态,则错误 块清除信息603是"1",可知是在物理清除后发生的读出错误。这时, 如图6 (d)所示,在把错误再发生信息604改写为"l"以后结束登录 处理(S805)。即,作为应该更新ECC错误记录并i的内容的读出错 误,是指对于一旦发生了读出错误的物理块进行了物理清除以后,即 使在新写入的数据中又发生的读出错误。图9是在数据的写入之前进行的物理清除时的ECC错误表更新 和不良块登录的流程图。外部主设备在存储卡101中写入数据时,外 部主设备对存储卡101传送写入指令和写入开始地址。接收到该指令 和开始地址后,MPU105检索ECC错误表111的登录状态(S901)。 具体地讲,检查写入对象的物理块的地址是否与ECC错误记录的错 误块601的值一致。在S901的检索中,在没有与写入对象的物理块一致的ECC错 误记录#1时,判断为没有登录(S902),不进行ECC错误表lll的 登录,结束登录处理。反之,在有一致的ECC错误记录并i时,判断 为有登录(S902)。而且,当只有错误发生信息602是"1",错误块 清除信息603和错误再发生信息604是"0"时,仅在错误发生信息602 中有记录。判断为是发生了读出错误以后的最初的物理清除(S903)。 这种情况下,在错误块清除信息603中登录"1",结束ECC错误表111 的更新(S907)。其次,当错误发生信息602和错误块清除信息603是"1",错误 再发生信息604是"0,,时,成为直到错误块清除信息603为止有记录 (S904)。由此可知虽然以前发生了错误但是在进行了物理清除以后 的写入中没有发生错误。即,判断为最初发生的错误是偶发性的错误。 这时,撤消该ECC错误记录弁i的登录,结束ECC错误表lll的更 新(S906 )。通过使图6 ( a )的ECC错误记录# i的错误块601的值成为无效值进行登录的撤消。另外,如图6 (d)那样,在不仅是错误发生信息602和错误块 清除信息603,直至错误再发生信息604为止全部是"1"时,可知以前 发生了读出错误,在对该物理块进行了物理清除以后写入的数据中也 还发生了读出错误。这种情况下,判断为是起因于固有不良的错误, 作为不良块登录发生了错误的物理块(S905)。接着,撤消该物理块 的ECC错误记录# i的登录,结束ECC错误表111的更新(S906 )。如前面说明过的那样,S卯5的不良块登录是指在BB表112中, 在与该物理块的地址相对应的BB记录i中登录比特"O"。虽然通过 BB记录i的登录完成不良块的登录,但仅此并不能限制不良块的使 用。因此,对于在BB记录i中作为比特O登录了的物理块,在项目 表113上登录比特"0"。如果在项目表113中登录比特"O",则由于不 良块被处理为写入完毕块,因此能够限制使用不良块。总之,通过对 作为不良块登录在BB记录i中的物理块、在项目表中登录比特"O", 能够防止使用不良块。本实施例的特征是只有在发生的读出错误不能纠正时进行ECC 错误表的登录和更新,以物理块地址单位把ECC错误表内的ECC错 误记录进行分录,在同一个物理块中,在物理清除前后连续发生了两 次错误时进行不良块登录。在本实施例中,ECC错误表具有用于判断 所发生的错误是偶发性的还是由固有不良引起的信息。即,如果在最 初的读出错误发生以后物理清除该物理块的数据,在新写入的数据中 不发生读出错误,则能判断为最初的错误是偶发性的错误。如果在最 初的读出错误发生以后,即使物理清除该物理块的数据,在新写入的 数据中仍然发生读出错误,则能判断为是由固有不良引起的错误。这 样,本实施例能准确地判定是偶发性的错误还是由固有不良引起的错 误。另外,根据其判断,通过不使用固有不良的物理块,产生降低读 出错误这样的效果。 (实施例2)图1表示本实施例中的非易失性存储装置的结构。存储卡101具备存储控制器102和作为非易失性存储器的闪速存储器103。包含 在存储控制器102中的各结构要素与在第1实施例中说明过的相同。图2是表示闪速存储器103的内部结构的框图,闪速存储器103 的内部由PB0 PB1023共1024个物理块构成。图3是表示物理块的 内部结构的框图,各个物理块具备64个物理页PP0 PP63。这些与 在第1实施例中说明过的相同。图5表示的ECC错误表lll具备多个ECC错误记录并i,与在 第1实施例中说明过的相同。图IO表示本实施例的ECC错误记录弁i的结构。图10中,除 去在第1实施例的图6中表示的错误块601、错误发生信息602、错 误块清除信息603、错误再发生信息604以外,还具备错误页1001。 该错误页1001由于作为信息具有检测出了读出错误的物理页的地址, 因此ECC错误记录并i能够以物理页为单位构成。本实施例的非易失性存储装置中的数据读出根据图7表示的流 程图进行,除去S707以外的各步骤中的处理与第1实施例相同。这 里使用图11,说明在S703中不能纠正错误时进行的S707的ECC错 误表登录。首先,MPU105检索ECC错误表111的登录状态,搜索 在错误块601中具有发生了读出错误的物理块的地址,而且,在错误 页1001中具有发生了该错误的物理页的地址的ECC错误记录并i (S1101)。在S1101的检索中没有相应的ECC错误记录并i的情况下, MPU105判断为没有ECC错误记录并i的登录(S1102),把错误发 生的信息新登录到ECC错误记录并i中(S1103)。该登录通过在错 误块601中写入存在发生了错误的页的物理块的地址,在错误发生信 息602中写入表示发生读出错误的"l",在错误页1001中写入发生了 错误的页的物理页地址来完成。在本次登录中不需要的错误块清除信 息603、错误再发生信息604中登录表示初始值的"O"。在S1102中判断为有登录的情况下,MPU105判断是否是物理清 除后的读出错误(S1104)。即,如果有登录的ECC错误记录#1的错误块清除信息603是"O,,,则MPU105判断为尚未进行物理清除, 不是物理清除后的读出错误,不进行ECC错误记录# i的更新而结束。 该判断以只要读出相同物理页的相同数据,则无论读出错误发生多少 次也不能判断是偶发性错误还是由固有不良引起的错误为依据。图9是表示物理清除时的ECC错误表更新和不良块登录的流程 图,由于与第1实施例相比S901的处理不同因此进行说明。如果根 据作为物理清除单位的物理块地址进行S901的检索,则有时检测出 若干个物理块地址相同、物理页地址不同的ECC错误记录并i。即, 检索出多个错误块601的值相同、错误页1001的值不同的ECC错误 记录并i(S901)。由于按照在S901中检测出的顺序,检测出的多个 ECC错误记录并i成为下一个步骤中的处理对象,因此S902以后的 处理与第1实施例相同。另外,不良块登录的方法和通过向项目表的登录防止使用不良块 的方法与第1实施例相同。本实施例的特征是在ECC错误记录并i的结构中具备错误页 1001,对每一个物理页的地址新登录ECC错误记录并i。这样,即使 在同一个物理块内连续发生了错误的情况下也能区分是在不同物理 页中发生的错误,还是在同一物理页中发生的错误,能够高精度地判 断是偶发性的错误还是由固有不良引起的错误。另外,在本实施例中,把进行读出的页单位作为写入的最小单位 即物理页,而即使使用所构成的系统的读出单位或者添加ECC码的 单位,也能够进行比物理块单位的错误管理精度更高的错误管理。也 可以与能否纠正读出错误无关进行ECC错误表的登录和更新。 (实施例3 )图1表示本实施例中的非易失性存储装置的结构。存储卡101 具备存储控制器102和作为非易失性存储器的闪速存储器103。包含 在存储控制器102中的各结构要素与在第1实施例中说明过的相同。图2是表示闪速存储器103的内部结构的框图,闪速存储器103 的内部由PB0 PB1023共1024个物理块构成。图3是表示物理块的内部结构的框图,各个物理块具备64个物理页PP0~PP63。这些与 在第1实施例中说明过的相同。图5表示的ECC错误表111具备多个ECC错误记录弁i,与在 第1实施例中说明过的相同。图12表示本实施例的ECC错误记录并i的结构。图12表示ECC 错误记录弁i的信息组和保存在ECC错误记录并i中的信息的变化。 错误块1201保存发生了错误的物理块的物理地址。错误计数1202保 存发生了读出错误的次数。如果在经过该物理块的物理清除而新写入 的数据中又发生了读出错误,则把错误计数1202的错误次数加1。错 误块清除计数1203表示对发生读出错误的物理块进行了物理清除的 次数。根据图7表示的流程图进行本实施例的非易失性存储装置中的 数据的读出,除去S707以外的各步骤中的处理与第1实施例相同。 这里,说明在S703中不能纠正错误时进行的S707的ECC错误表登 录。图13表示ECC错误表的登录处理。首先,MPU105检索ECC 错误表111的登录状态(S1301)。具体地讲,是用于搜索在错误块 601中具有发生了读出错误的物理块地址的ECC错误记录井i的检索。在S1301的检索中,在没有物理地址一致的ECC错误记录并i 的情况下,MPU105判断为没有登录(S1302),新登录ECC错误记 录# i ( S1303 )。图12 ( b )表示新登录后的状态。在错误块1201中, 作为有效值写入发生了读出错误的物理块的地址。在错误计数1202 中,写入表示发生了 1次读出错误的"l"。在错误块清除计数1203中, 写入表示错误发生后的物理清除次数是0次的"O"。在S1302中判断为有登录时,MPU105参照登录的ECC错误记 录并i,判断是否是物理清除后发生的最初的错误(S1304)。具体地 讲,把在S1301中检测出的ECC错误记录# i的错误计数1202与错 误块清除计数1203进行比较。错误计数1202如果是比错误块清除计 数1203大的值,则判断为ECC错误记录并i的紧接之前的更新是由发生读出错误引起的错误计数1202的增加。由于在发生了读出错误 以后没有进行物理清除,因此不更新ECC错误记录并i,结束ECC 错误表111的登录。 一旦登录或者更新了错误计数1202以后,只要 没有进行该物理块201的物理清除,则无论发生多少次读出错误也不 能判断是偶发性的错误还是由固有不良引起的错误。由此,如果错误 计数1202是比错误块清除计数1203大的值,则不会使错误计数1202 进一步增加。其次,如果错误计数1202与错误块清除计数1203的值相同,则 判断为ECC错误记录# i的紧接之前的更新是由物理清除引起的错误 块清除计数1203的增加。由于发生了错误以后进行了物理清除,罔 此MPU105判断为在物理清除后发生了读出错误,转移到S1305。而 且在图12中,如从(c)向(d),从(e)向(f)变化那样,把错误 计数1202的信息增加1进行改写后,结束表的更新。作为应该更新 ECC错误记录# i的内容的读出错误是指对一旦发生了读出错误的物 理块进行了物理清除以后,即使在新写入的数据中又发生的读出错 误。图14是在数据写入之前的物理清除时的ECC错误表更新的流程 图。首先,MPU105检索ECC错误表lll的登录状态(S1401)。具 体地讲,是用于搜索在错误块1201中具有作为物理清除对象的闪速 存储器103的物理块地址的ECC错误记录的检索。在S1401的检索中,在没有物理地址一致的ECC错误记录并i 的情况下,MPU105判定为没有登录(S1402),不更新ECC错误表 111而结束。在S1401的检索中有相应的ECC错误记录弁i的情况下, 判定为有登录(S1402)。接着,MPU105参照ECC错误记录并i,判定是否是发生了物理 清除后的错误(S1403 )。具体地讲,把错误计数1202与错误块清除 计数1203进行比较,如果两者是相同的值,则ECC错误记录并i的 紧接之前的更新是由物理清除引起的物理块清除计数1203的增加, 判断为在清除以后没有发生错误。由此,判断为在物理清除前发生的读出错误是偶发性的错误。该判断以后,MPU105消除ECC错误记 录并i的登录(S1404),结束ECC错误表lll的更新。如图12 (a) 那样,通过使错误块1201的值成为无效值,能够消除登录。另外,把ECC错误记录# i的错误计数1202与错误块清除计数 1203进行比较,如果错误计数1202是比错误块清除计数1203大的值, 则能判断为ECC错误记录# i的紧接之前的更新是由发生错误引起的 错误计数1202的增加,在S1403中发生了清除后的错误。MPU105 参照错误计数1202 ( S1405 ),判断是否在预先确定的规定次数以内。 如果在规定次数以内,则由于不需要进行不良块登录,因此使ECC 错误表111的错误块清除计数1203的值加1 ( S1406 ),结束ECC错 误表lll的更新。在S1405中错误超过了规定次数的情况下,视为是 具有固有不良的物理块,进行不良块登录。所谓不良块登录是指登录 在与该物理块的地址相对应的BB记录i中(S1407)。不良块的登录 以后,消除该物理块的ECC错误记录弁i的登录(S1404)。不良块登录的方法和通过向项目表的登录防止使用不良块的方 法与第1实施例相同。在使用了如多值闪速存储器那样偶发性比特错误的发生频率高 的闪速存储器的存储装置的情况下,有时在同一个物理块或者页中, 在物理清除前后,连续发生偶发性的比特错误。这种情况下,会作为 不良块登录没有固有不良的该物理块,限制^L用该物理块并不适宜。 因此本实施例能够把直到进行不良块登录为止的错误发生次数任意 地设定为大于等于3次的次数。通过把直到进行不良块登录为止的错 误发生次数的规定值取为大的值,能够准确地检测固有不良。另外,也可以在本实施例的ECC错误记录弁i中添加记录物理 块页的错误页信息,以物理页单位登录错误表。另外,也可以与能否 纠正读出错误无关进行ECC错误表的登录和更新。 (实施例4)图1表示本实施例中的非易失性存储装置的结构。存储卡101 具备存储控制器102和作为非易失性存储器的闪速存储器103。包含在存储控制器102中的各结构要素与在笫1实施例中说明过的相同。图2是表示闪速存储器103的内部结构的框图,闪速存储器103 的内部由PB0 PB1023共1024个物理块构成。图3是表示物理块的 内部结构的框图,各个物理块具备64个物理页PP0 PP63。这些与 在笫1实施例中说明过的相同。图5表示的ECC错误表lll具备多个ECC错误记录并i,与在 第1实施例中说明过的相同。图15是本实施例的非易失性存储装置中的数据读出的流程图。 S1501中的处理是与第1实施例中的S701相同的处理。在S1501以后,ECC电路109对读出的数据判定是否发生了读 出错误(S1502)。在没有发生读出错误的情况下,MPU105对主接 口 104指示数据向外部主设备的输出(S1506)。然后只要继续进行 读出(S1507),则以读出的单位增加地址,同时,循环到S1501,继 续进行数据的读出处理。判定是否发生了读出错误(S1502),在发生了读出错误的情况 下,对ECC错误表lll进行ECC错误记录井i的登录(S1503)。如 果结束向ECC错误表111的登录,则ECC电路109判断能否对其读 出错误进行纠正(S1504),在能纠正的情况下纠正读出错误(S1505 )。 在读出错误的纠正以后,输出读出数据,判定是否继续数据的读出 (S1507)。另外,在不能纠正读出错误的情况下(S1504),立即结 束读出。在本实施例中,只要检测出读出错误,则就与能否纠正错误无关, 进行ECC错误表lll的登录。ECC错误表lll的登录方法与第1实 施例相同,如图8所示。数据写入之前进行的物理清除时的ECC错误表更新和不良块登 录与第l实施例相同,如图9所示。不良块登录的方法和通过向项目表的登录防止使用不良块的方 法与第1实施例相同。在用如二值闪速存储器那样偶发性比特错误的发生频率低的闪速存储器103构成存储卡的情况下,不能纠正的错误在物理清除前后 连续发生2次的频率非常低,几乎所有的错误都能纠正。即使是起因 于固有不良的错误,由于大多能纠正,因此只有在不能纠正错误的情 况下进行ECC错误表的登录时,不能准确地检测出存在固有不良的 物理块。与此不同,在本实施例如果检测出比特错误,则与能否纠正 错误无关,在ECC错误表中登录ECC错误记录井i,因此即使是偶 发性比特错误的发生频率低的闪速存储器,也能适宜地限制使用存在 固有不良的物理块。另外,也可以在本实施例的ECC错误记录并i上添加记录物理 块页的错误页信息,以物理页单位登录错误表。另外,也可以与能否 纠正读出错误无关进行ECC错误表的登录和更新。(实施例5)图16表示如果反复读出写入在某一个物理块中的数据,则与读 出的次数相应,增加比特错误的状况。图中,网格图案表示发生的错 误的比特数,随着读出次数增加,向表示ECC电路的纠错能力的可 进行ECC纠正的比特数的虚线增加。以为了进行数据读出而施加到 存储单元上的电压等为原因,写入到存储单元中的比特发生变化,发 生这样的错误。在本实施例中,把这样的错误称为进行性错误。在用图16的E/W表示的位置表示数据的清除和写入,表示在 清除了物理块的数据以后,在该相同的物理块中写入新的数据。虽然 紧接在E/W的后面暂时没有进行性错误,然而如果增加数据的读出 次数,则由于进行性错误的比特数逐渐增加,因此在ECC电路的纠 错能力方面没有余量。在保持这样的状态下反复进行数据的读出,则 发生超过ECC电路的纠正能力的比特数的错误,并不优选。为此, 将纠正阈值设定为小于等于ECC电路的能够纠正的比特数,如果在误,则纠正检测出的错误,把纠正了的该数据写入到其它的物理块中。 通过这样做,暂时消除进行性错误,确保数据的安全性,同时,使 ECC电路的纠错能力恢复余量。另外,在本实施例中,ECC电路的能够纠错的比特数和纠正阈值都取为4比特。在本实施例中,以下说 明用于应对上述事态的方法。以下,说明本实施例。图17是表示本实施例的非易失性存储装 置的结构的框图。存储卡701具备存储控制器702和作为非易失性存 储器的闪速存储器703。图18是表示闪速存储器703的内部结构的框图。这里,说明具 有1G比特容量的闪速存储器。闪速存储器703的内部由PBO~ PB1023共1024个物理块构成。物理块在闪速存储器703中是数据清 除的最小单位。 一个物理块容量用128kB + 4kB表示。这表示一个物 理块的数据容量是128kB,进而在4kB的区域中写入ECC码或者该 物理块的逻辑地址值等的管理数据。图19是表示物理块的内部结构的框图。闪速存储器703内的各 个物理块具备64个物理页PP0~PP63。物理页在闪速存储器703中 是数据写入的最小单位。1个物理页的容量是2kB + 64B。这表示能够 写入到1个物理页中的数据的容量是2kB,在其余的64B中写入包括 ECC的管理数据。存储控制器702具有主接口 704、地址表706、闪速接口 707、 緩冲存储器708、 ECC电路709、 MPU (小型运算单元)705。主接 口 704控制与连接在存储卡701的外部的主设备的接口。地址表706是具有保存在闪速存储器703中的数据的管理信息的 表,具有逻辑物理变换表710、 ECC错误表711、项目表712。这些 表保持在易失性存储器中。逻辑物理变换表710是表示作为从存储卡701的外部指定的逻辑 地址的逻辑块地址与作为闪速存储器703内部的物理地址的物理块地 址的对应关系的表。逻辑物理变换表710用于从逻辑地址得到与该逻 辑块相对应的物理地址。ECC错误表711具有发生了读出错误的物理块的物理地址、数 据的物理清除的历史、或物理清除后的读出错误的发生历史等信息, 在固有不良的物理块的检测中使用。示对闪速存储器703的各个物 理块、数据是写入完毕还是清除完毕的信息的表。例如,数据写入完 毕的物理块用比特"0,,表示,清除完毕的物理块用比特"l,,表示。闪速接口 707通过后述的MPU705的控制,在闪速存储器703 中写入緩沖存储器708的数据,或者把闪速存储器703的数据写入到 緩冲存储器708中,或者清除闪速存储器703的数据。緩冲存储器708 是在外部的主设备与闪速存储器703之间的数据写入和读出时用于暂 时保持数据的易失性存储器。ECC电路709生成添加到从緩冲存储器708传送到闪速存储器 703的写入数据上的ECC的代码。另外,ECC电路709是对于从闪 速存储器703读出到緩冲存储器708的数据,进行ECC运算并检测 错误,在其错误是可纠正的错误的情况下,纠正緩沖存储器708的数 据的纠错电路。MPU705是进行存储控制器702的整体控制的微机。在与主设备 之间进行数据的写入和读出时,直接控制主接口 704、 ECC电路709、 闪速接口 707、地址表706。特别是在读出数据中有错误时,MPU705 参照地址表706内的ECC错误表711的信息,根据需要进行ECC错 误表711的更新。进而MPU705根据更新后的BB表的内容还进行项 目表的更新。图20表示ECC错误表711的结构。ECC错误表711由用16进 制数表示的并0 井F的16个ECC错误记录# i构成。图21表示本实施例的ECC错误记录井i的结构。本实施例的 ECC错误记录# i除去保存发生了错误的物理块的地址的错误块601、 保存发生了错误的物理页的地址的错误页1001以外,还具备保存发 生的错误的比特数的错误比特计数1601。该错误比特计数1601作为 信息具有发生的读出错误的比特数,用ECC错误记录弁i表示所发生 的比特错误的程度。图22是本实施例的非易失性存储装置中的数据读出的流程图。 MPU705向闪速存储器接口 707指示进行读出的物理块的地址和物理页的地址,从闪速存储器703读出数据(S1701)。在S1707以后, ECC电路709对读出的数据判定是否发生了读出错误(S1702)。在 没有发生读出错误的情况下,MPU705对主接口 704指示数据向外部 主设备的输出(S1707)。然后只要继续进行读出(S1708),则就以 读出的单位增加地址,同时,循环到S1701,继续进行数据读出的处 理。在S1702的判定中发生了读出错误的情况下,进行向ECC错误 表711的登录(S1703)。如果向ECC错误表711的登录结束,则 ECC电路709对于该读出错误判断是否小于等于可纠正的4比特 (S1704)。在不能纠正读出错误的情况下(S1704),立即结束数据 的读出。在能纠正的情况下,纠正读出错误(S1705)。在读出错误纠正 以后,进行数据纠正复制处理(S1706),输出读出数据(S1707)。 然后,判定是否继续进行读出(S1708)。在本实施例中,如果检测出了读出错误,则与能否纠正无关,进 行ECC错误表的登录。这里,使用图23的流程图说明ECC错误表 的登录(S1703)的处理。在检测出了读出错误的情况下,MPU705检索ECC错误表711 的登录状态(S1801)。具体地讲,检查发生了读出错误的物理块以 及物理页的物理地址是否与ECC错误表711的某一个ECC错误记录 #i的错误块601以及错误页1001的值一致。其次,在S1801的检索中没有相应的ECC错误记录并i时,判 断为没有登录(S1802)。接着,把错误块601、错误页1002和错误 比特计数1603的各个值新登录到空的ECC错误记录并i中(S1803 )。 这时,如果发生了超过ECC电路709的纠正能力的大于等于5比特 的错误,则由于不能决定登录在ECC错误记录# i中的错误比特计数, 因此在这种情况下,登录可知不能纠正的值。例如,如果ECC电路 709的最大纠正能力是4比特,则可以登录作为超过4比特的值的5。在S1802中检测出了 ECC错误记录弁i的登录的情况下,MPU705判断本次发生的错误的比特计数是否比ECC错误记录# i的 错误比特计数多(S1804)。把有登录的ECC错误记录弁i的错误比 特计数1601与本次读出中的错误比特计数进行比较,如果比特计数 没有增加,则不进行ECC错误记录的更新而结束。在增加的情况下, 把错误比特计数1601改写为增加后的值,结束ECC错误表的登录 (S1805)。其次,使用图24的流程图说明数据纠正复制处理(S1706)。在 可纠正的错误的纠正(S1705)以后,MPU705进行今后是否可以继 续读出本次读出的物理页的数据的判定。即,是为了判定在今后也继 续进行数据的读出时,发生不可纠正的比特错误的可能性是否高,并 进行适当的处理。首先,从ECC错误记录井i取得错误比特计数1601的值(S1901 )。 接着,判定所取得的错误比特计数是否大于等于纠正阈值4比特 (Sl卯2)。如果错误比特计数小于纠正阈值4比特,则判断为今后 即4吏错误比特增加,也不会立即达到不可纠正的读出错误,结束数据 纠正复制处理。在错误比特计数是4比特时,由于是与纠正阈值相等的值,因此 进行纠正后数据的写入(S1903)。具体地讲,MPU705例如把緩冲 存储器708中存在的纠正后的数据写入到闪速存储器703的任意的物 理块中。这时,写入数据的物理块是读出了该数据的物理块以外的物 理块。最后,消除关于发生了错误的物理块的ECC错误记录并i的登 录(S1904 )。如以上那样,将发生大于等于纠正阈值的错误比特计数的物理页 的数据判断为存在今后发展到不可纠正的读出错误的可能性,在可纠 正的期间进行纠正,把纠正完毕的数据写入到其它物理块的物理页 中。本实施例在所发生的比特错误的数是5比特或者6比特等,超过 ECC电路的纠正能力,不能纠正错误时不进行数据纠正复制处理 (S1706)。当能纠正错误时,当该错误的比特数在ECC电路709可纠正的范围内而且是大于等于纠正阈值的4比特时,把纠错后的数据 写入到闪速存储器103的其它物理块中。另外,这里在ECC错误表711的ECC错误记录糾中设置错误 比特计数1601,但并不限于此,只要是表示错误的程度即可。例如, 即使不是具体的比特数,使用作为表示是否大于等于纠正阈值的错误 发生信息的标志,也可以实现本发明的效果,这一点能够很容易想到。 进而,也可以仅在发生大于等于纠正阈值而且可纠错的错误时进行 ECC错误表的登录。另外,在本实施例中,由于以能进行比特纠正的ECC电路为前 提,因此使用了错误比特计数1601。然而,在不是比特纠正而是以里 德所罗门(Reed-Solomon )码等能进行符号纠正的纠错电路为前提的 情况下,需要作为错误符号计数应用发生了错误的符号数的信息来代 替错误比特计数。(实施例6)图17表示本实施例中的非易失性存储装置的结构。存储卡701 具备存储控制器702和作为非易失性存储器的闪速存储器703。包含 在存储控制器702中的各结构要素与在第5实施例中说明过的相同。图18是表示闪速存储器103的内部结构的框图,闪速存储器703 的内部由PB0~PB1023共1024个物理块构成。图19是表示物理块 的内部结构的框图,闪速存储器703内的各物理块具备64个物理页 PP0~PP63。这些与在第5实施例中"^兌明过的相同。如图20所示, ECC错误表711具备多个ECC错误记录#1。另夕卜,本实施例的ECC 错误记录并i的结构如图21所示。ECC错误记录井i除去保存发生了 错误的物理块的地址的错误块601、保存发生了错误的物理页的地址 的错误页1001以外,还具备保存所发生的错误的比特数的错误比特 计数1601。这些与第5实施例相同。图25是本实施例的非易失性存储装置中的数据读出的流程图。 首先,向闪速存储器接口 707指示进行读出的物理块的地址和物理页 的地址,从闪速存储器703读出数据(S2001 ) 。 S2001以后,ECC电路709对读出的数据判定是否发生了读出错误(S2002)。在没有 发生读出错误时,MPU705对主接口 704指示数据向外部主设备的输 出(S2006)。然后只要继续进行读出(S2007),则就以读出的单位 增加地址,同时,循环到S2001,继续进行数据读出的处理。在判定为有读出错误时(S2002 )时,判定该错误能否纠正 (S2003)。在判定为不能纠正时,立即结束读出处理。在判断为能纠正时,进行ECC错误表的登录(S2004)。这里 的ECC错误表与在第5实施例的图23中说明过的处理相同地进行登 录。在ECC错误表的登录后,在緩冲存储器708内纠正错误(S2005 ), MPU705对主接口 704指示数据向外部主设备的输出(S2006)。然 后只要继续进行读出(S2007),就以读出的单位增加地址,同时, 循环到S2001,进行读出处理。在本实施例中,没有把在第5实施例中进行的数据纠正复制处理 包含在数据读出的流程图中。这是因为在本实施例中,在数据的读出 处理过程中没有进行数据向闪速存储器703的写入。 一般与读出时间 相比,闪速存储器的写入时间长,因此如果在数据的读出过程中进行 这样花费时间的写入处理则导致处理性能的降低。从而,在数据的读 出过程中没有进行向闪速存储器703的写入。从而,在本实施例中,在没有进行其它处理的空闲的时间中进行 数据纠正复制处理。所谓空闲的时间是指没有进行来自存储卡701外 部的数据的写入和读出处理的期间、或者在存储卡701中投入了电源 以后直到进行来自存储卡701外部的数据的写入和读出处理为止的期 间。使用图26的流程图说明在空闲时间中进行的数据纠正复制处 理。MPU705在空闲时间中检索ECC错误表711的错误计数,选择 错误比特计数1601成为大于等于纠正阈值的4比特的ECC错误记录 #i(S2101)。这时如果没有相应的错误记录(S2102),则结束数据 纠正复制处理。在有相应的错误记录# i时,从错误记录# i的错误块601和错误页1001取得物理块和物理页的地址(S2103)。而且,把属于所取得 的地址的数据读出到緩冲存储器708 ( S2104 )。接着由ECC电路109 纠正错误(S2105),把纠正后的数据写入到闪速存储器703的任意 的物理块中(S2106)。这时写入数据的物理块是登录在该错误记录 #i中的物理块以外的物理块。最后消除相应的错误记录并i的登录, 结束处理(S2107)。如以上那样,发生了大于等于纠正阈值的错误比特计数的物理页 的数据由于被判断为今后有发展到不可纠正的读出错误的可能性,因 此如上所述利用空闲时间进行错误的纠正,把纠正完毕的数据写入其 它物理块的物理页中。这样,如果对1次写入的数据反复进行读出, 虽然不良比特增加,然而通过纠正该数据、改写到其它的物理块中, 能够避免不可纠正的读出错误。在本实施例中,当所发生的比特错误是不可纠正时,由于不进行 ECC错误表的登录,因此也不进行数据纠正复制处理。也可以只有当 在读出了某个物理页的数据时发生错误,该错误的错误比特数在能够 由ECC电路709纠错的范围内而且超过了纠正阈值时,在闪速存储 器703的其它物理块中写入纠错后的数据,在读出中使用,使得今后 可以不进行来自该物理页的数据的读出。另外,这里在ECC错误表711的ECC错误记录并i中设置错误 比特计数1601,但不限于此,只要是表示错误的程度即可。例如,即 使不是具体的比特数,使用作为表示是否超过了纠正阈值的错误发生 信息的标志,也能够实现本发明的效果,这一点能够很容易想到。进 而,也可以只有在发生了大于等于纠正阈值而且可纠错的错误时进行 ECC错误表的登录。另外,在本实施例中由于以能够进行比特纠正的ECC电路为前 提,因此使用了错误比特计数1601。而在以不是比特纠正而是能够进 行里德所罗门码等符号纠正的纠错电路为前提的情况下,需要作为错 误符号计数应用发生了错误的符号数的信息来代替错误比特计数。产业上的可利用性本发明的非易失性存储装置由于通过检测非易失性存储器的固 有不良、限制在以后使用该块,能够谋求降低读出错误,因此能够在使用了需要基于ECC的纠错的非易失性存储器的存储卡系统,例如, 数字照相机的静止图像保存用的存储装置等中使用。
权利要求
1.一种非易失性存储装置,具备非易失性存储器和存储控制器,该非易失性存储装置的特征在于,上述非易失性存储器具备多个作为清除单位的物理块,上述物理块具有多个作为写入单位的物理页,上述存储控制器具备进行上述存储控制器内部中的整体控制的运算处理单元;具有对于从上述非易失性存储器读出的数据检测错误的功能和在能够纠正错误时进行纠正的功能的纠错电路;保持用于管理保存在上述非易失性存储器中的数据所需要的表的地址表,上述存储控制器的地址表具备具有多个错误记录的错误表,所述错误记录是关于由上述纠错电路检测出了读出错误的物理块的、与上述读出错误有关的信息;具有对于上述非易失性存储器的各个物理块、数据是写入完毕还是清除完毕的信息的项目表;表示由主设备从外部指定的逻辑块地址与上述非易失性存储器的物理块地址的变换信息的逻辑物理变换表,上述运算处理单元根据来自上述纠错电路的错误检测,登录并更新上述错误表的错误记录,决定是否使用检测出了上述读出错误的物理块。
2. 根据权利要求l所述的非易失性存储装置,其特征在于, 上述存储控制器的地址表还具备记录与禁止数据的写入以及读出的物理块的地址有关的信息的不良块表, 上述错误表的错误记录具备当上述纠错电路检测出了从上述非易失性存储器读出的数据的 错误时,记录表示发生了错误的物理块的地址的信息的错误块信息; 记录表示发生了上述错误的信息的错误信息;记录表示在发生了上述错误以后、清除上述物理块的数据、写入了新的数据的信息的错误块清除信息;表示在上述错误块清除信息中记录了信息以后、在同 一个物理块 中再次检测出读出错误的错误再发生信息,上述运算处理单元在上述非易失性存储器中写入数据时,参照上 述错误表,当关于写入数据的物理块、存在至少记录了上述错误块信 息和上述错误再发生信息的上述错误记录时,在上述不良块表中记录 与写入上述数据的物理块的地址有关的信息。
3. 根据权利要求2所述的非易失性存储装置,其特征在于, 上述错误表的错误记录还具备写入了由上述纠错电路检测出了读出错误的上述物理页的地址的错误页信息。
4. 根据权利要求2所述的非易失性存储装置,其特征在于, 上述运算处理单元只有在不能由上述纠错电路纠正上述纠错电路所检测出的读出错误时,在上述错误表的错误记录中记录以及更新 信息。
5. 根据权利要求3所述的非易失性存储装置,其特征在于, 上述运算处理单元只有在不能由上述纠错电路纠正上述纠错电路所检测出的读出错误时,在上述错误表的错误记录中记录以及更新 信息。
6. 根据权利要求1所述的非易失性存储装置,其特征在于, 上述存储控制器的地址表还具备记录与禁止数据的写入以及读出的物理块的地址有关的信息的不良块表, 上述错误表的错误记录具备在上述纠错电路检测出了从上述非易失性存储器读出的数据的 错误时,记录表示发生了错误的物理块的地址的信息的错误块信息;作为表示读出错误发生的次数的信息的错误计数信息;表示对发生上述读出错误的物理块进行了物理清除的次数的错 误块清除计数信息,上述运算处理单元在上述非易失性存储器中写入数据时,参照上述错误表,当关于写入数据的物理块、存在记录了上述错误块信息的 上述错误记录时,对上述错误计数信息与上述错误块清除信息进行比 较,上述错误块清除信息表示预定的次数,而且上述错误计数信息的 值比上述错误块清除信息大时,在上述不良块表中记录与写入上述数 据的物理块的地址有关的信息。
7. 根据权利要求6所述的非易失性存储装置,其特征在于, 上述错误表的错误记录还具备写入了由上述纠错电路检测出了读出错误的上述物理页的地址的错误页信息。
8. 根据权利要求6所述的非易失性存储装置,其特征在于, 上述运算处理单元中,如果上述纠错电路检测出读出错误,则与能否由上述纠错电路进 行纠正无关,登录以及更新上述错误表的错误记录。
9. 根据权利要求7所述的非易失性存储装置,其特征在于, 上述运算处理单元中,如果上述纠错电路检测出读出错误,则与能否由上述纠错电路进 行纠正无关,登录以及更新上述错误表的错误记录。
10. 根据权利要求1所述的非易失性存储装置,其特征在于, 上述错误表的错误记录具备写入了上述纠错电路检测出了读出错误的物理块的地址的错误 块信息;写入了上述纠错电路检测出了上述读出错误的物理页的地址的 错误页信息;记录表示上述读出错误的比特数的信息的错误比特计数, 上述运算处理单元使用作为小于等于能够由上述纠错电路纠正 的错误比特数的值、且预先确定的纠正阈值,读出与上述错误比特计 数的信息大于等于上述纠正阈值的上述错误表的错误记录相对应的 物理块的数据,使上述纠错电路纠正读出的数据的错误,把该纠正了 的数据写入到其它的物理块中。
11. 根据权利要求10所述的非易失性存储装置,其特征在于,上述运算处理单元在没有进行来自外部的对上述非易失性存储 器的数据读出处理时,使用作为小于等于能够由上述纠错电路纠正的 错误比特数的值、且预先确定的纠正阈值,读出与上述错误比特计数 的信息大于等于上述纠正阈值的上述错误表的错误记录相对应的物 理块的数据,使上述纠错电路纠正读出的数据的错误,把该纠正了的 数据写入到其它的物理块中。
12. 根据权利要求1所述的非易失性存储装置,其特征在于, 上述错误表的错误记录具备记录表示上述纠错电路检测出了读出错误的物理块的地址的信 息的错误块信息;记录表示上述纠错电路检测出了读出错误的上述物理页的地址 的信息的错误页信息;记录表示发生了具有小于等于能够由上述纠错电路纠正的错误 比特数的值而且大于等于预先确定的纠正阈值的读出错误的信息的 错误发生信息,上述运算处理单元读出与记录了上述错误发生信息的上述错误 表的错误记录相对应的物理块的数据,使上述纠错电路纠正读出的数 据的错误,把该纠正了的数据写入到其它的物理块中。
13. 根据权利要求12所述的非易失性存储装置,其特征在于, 上述运算处理单元在没有进行读出上述非易失性存储器的数据的处理时,读出与记录了上述错误发生信息的上述错误表的错误记录 相对应的物理块的数据,使上述纠错电路纠正读出的数据的错误,把 该纠正了的数据写入到其它的物理块中。
14. 一种存储控制器,对于具备多个作为清除单位的物理块、上 述物理块具有多个作为写入单位的物理页而构成的非易失性存储器, 控制数据的读出以及写入,该存储控制器的特征在于,具备进行上述存储控制器内部中整体控制的运算处理单元; 具有对于从上述非易失性存储器读出的数据检测错误的功能和 在能够纠正错误时进行纠正的功能的纠错电路;保持用于管理保存在上述非易失性存储器中的数据所需要的表 的地址表,上述地址表具备具有多个错误记录的错误表,所述错误记录是关于由上述纠错电 路检测出了读出错误的物理块的、与上述读出错误有关的信息;具有对于上述非易失性存储器的各个物理块、数据是写入完毕还是清除完毕的信息的项目表;表示由主设备从外部指定的逻辑块地址与上述非易失性存储器 的物理块地址的变换信息的逻辑物理变换表,上述运算处理单元根据来自上述纠错电路的错误检测,登录并更 新上述错误表的错误记录,决定是否使用检测出了上述读出错误的物 理块,
15. 根据权利要求14所述的存储控制器,其特征在于, 上述地址表还具备记录与禁止数据的写入以及读出的物理块的地址有关的信息的不良块表,上述错误表的错误记录具备当上述纠错电路检测出了从上述非易失性存储器读出的数据的 错误时,记录表示发生了错误的物理块的地址的信息的错误块信息;记录表示发生了上述错误的信息的错误信息;记录表示在发生了上述错误以后、清除上述物理块的数据、写入 了新的数据的信息的错误块清除信息;表示在上述错误块清除信息中记录了信息以后、在同 一个物理块 中再次检测出读出错误的错误再发生信息,上述运算处理单元在上述非易失性存储器中写入数据时,参照上 述错误表,当关于写入数据的物理块、存在至少记录了上述错误块信 息和上述错误再发生信息的上述错误记录时,在上述不良块表中记录 与写入上述数据的物理块的地址有关的信息。
16. 根据权利要求15所述的存储控制器,其特征在于, 上述错误表的错误记录还具备写入了上述纠错电路检测出了读出错误的上述物理页的地址的错误页信息。
17. 根据权利要求15所述的存储控制器,其特征在于, 上述运算处理单元中,只有在不能由上述纠错电路纠正上述纠错电路所检测出的读出 错误时,在上述错误表的错误记录中记录以及更新信息。
18. 根据权利要求16所述的存储控制器,其特征在于, 上述运算处理单元中,只有在不能由上述纠错电路纠正上述纠错电路所检测出的读出 错误时,在上述错误表的错误记录中记录以及更新信息。
19. 根据权利要求14所述的存储控制器,其特征在于, 上述地址表还具备记录与禁止数据的写入以及读出的物理块的地址有关的信息的不良块表,上述错误表的错误记录具备在上述纠错电路检测出了从上述非易失性存储器读出的数据的 错误时,记录表示发生了错误的物理块的地址的信息的错误块信息;作为表示读出错误发生的次数的信息的错误计数信息;表示对发生上述读出错误的物理块进行了物理清除的次数的错 误块清除计数信息,上述运算处理单元在上述非易失性存储器中写入数据时,参照上 述错误表,当关于写入数据的物理块、存在记录了上述错误块信息的 上述错误记录时,对上述错误计数信息与上述错误块清除信息进行比 较,上述错误块清除信息表示预定的次数,而且上述错误计数信息的 值比上述错误块清除信息大时,在上述不良块表中记录与写入上述数 据的物理块的地址有关的信息。
20. 根据权利要求19所述的存储控制器,其特征在于, 上述错误表的错误记录还具备写入了上述纠错电路检测出了读出错误的上述物理页的地址的错误页信息。
21. 根据权利要求19所述的存储控制器,其特征在于, 上述运算处理单元中,如果上述纠错电路检测出读出错误,则与能否由上述纠错电路进 行纠正无关,登录以及更新上述错误表的错误记录。
22. 根据权利要求20所述的存储控制器,其特征在于, 上述运算处理单元中,如果上述纠错电路检测出读出错误,则与能否由上述纠错电路进 行纠正无关,登录以及更新上述错误表的错误记录。
23. 根据权利要求14所述的存储控制器,其特征在于, 上述错误表的错误记录具备写入了上述纠错电路检测出了读出错误的物理块的地址的错误 块信息;写入了上述纠错电路检测出了上述读出错误的物理页的地址的 错误页信息;记录表示上述读出错误的比特数的信息的错误比特计数, 上述运算处理单元使用作为小于等于能够由上述纠错电路纠正 的错误比特数的值、且预先确定的纠正阈值,读出与上述错误比特计 数的信息大于等于上述纠正阈值的上述错误表的错误记录相对应的 物理块的数据,使上述纠错电路纠正读出的数据的错误,把该纠正了 的数据写入到其它的物理块中。
24. 根据权利要求23所述的存储控制器,其特征在于, 上述运算处理单元在没有进行来自外部的对上述非易失性存储器的数据读出处理时,使用作为小于等于能够由上述纠错电路纠正的 错误比特数的值、且预先确定的纠正阈值,读出与上述错误比特计数 的信息大于等于上述纠正阈值的上述错误表的错误记录相对应的物 理块的数据,使上述纠错电路纠正读出的数据的错误,把该纠正了的 数据写入到其它的物理块中。
25. 根据权利要求14所述的存储控制器,其特征在于, 上述错误表的错误记录具备记录表示上述纠错电路检测出了读出错误的物理块的地址的信 息的错误块信息;记录表示上述纠错电路检测出了读出错误的上述物理页的地址的信息的错误页信息;记录表示发生了具有小于等于能够由上述纠错电路纠正的错误 比特数的值而且大于等于预先确定的纠正阈值的读出错误的信息的 错误发生信息,上述运算处理单元读出与记录了上述错误发生信息的上述错误 表的错误记录相对应的物理块的数据,使上述纠错电路纠正读出的数 据的错误,把该纠正了的数据写入到其它的物理块中。
26. 根据权利要求25所述的存储控制器,其特征在于, 上述运算处理单元在没有进行读出上述非易失性存储器的数据的处理时,读出与记录了上述错误发生信息的上述错误表的错误记录 相对应的物理块的数据,使上述纠错电路纠正读出的数据的错误,把 该纠正了的数据写入到其它的物理块中。
27. —种不良区域检测方法,在非易失性存储装置中使用,该非 易失性存储装置具备具有多个作为清除单位的物理块、上述物理块 具有多个作为写入单位的物理页而构成的非易失性存储器;存储控制 器,包括具备对来自上述非易失性存储器的读出数据检测错误的功能 以及在能够纠正错误时进行纠正的功能的纠错电路、保持多个错误记 录的错误表,该错误记录是关于检测出了读出错误的物理块的、与上 述读出错误有关的信息,该不良区域检测方法的特征在于,在读出数据时根据从外部指定的逻辑地址决定物理地址,从与上述物理地址相对应的物理块读出数据,在该读出的数据中有能够纠正的错误时,纠正上述错误并输出到外部,把上述物理地址登录在上述错误表中。
28. 根据权利要求27所述的不良区域检测方法,其特征在于,当改写了在上述错误表中登录了物理地址的物理块的数据时,把 表示改写了上述数据的信息登录到上述错误表中,在从改写了上述数据的物理块读出的数据中有能够纠正的错误时,纠正该错误并输出到外部,并且把表示在改写了上述数据以后发 生了错误的错误再发生信息登录到上述错误表中,对于在上述错误表中登录了上述错误再发生信息的物理块,禁止 数据的写入以及读出。
29. 根据权利要求27所述的不良区域检测方法,其特征在于,当改写了在上述错误表中登录了物理地址的物理块的数据时,把 表示改写了上述数据的次数的错误块清除计数登录到上述错误表中,在从改写了上述数据的物理块读出的数据中有能够纠正的错误 时,纠正该错误输出到外部,并且把表示在改写了上述数据以后发生 错误的次数的错误计数登录到上述错误表中,在上述错误计数表示出大于等于预定的值时,禁止数据向登录了 上述错误计数的物理块的写入以及读出。
30. —种不良区域检测方法,在非易失性存储装置中使用,该非 易失性存储装置具备具有多个作为清除单位的物理块,上述物理块 具有多个作为写入单位的物理页而构成的非易失性存储器;存储控制 器,包括具备对来自上述非易失性存储器的读出数据检测错误的功能 以及在能够纠正错误时进行纠正的功能的纠错电路、保持多个错误记 录的错误表,该错误记录是关于检测出了读出错误的物理块的、与上 述读出错误有关的信息,该不良区域检测方法的特征在于,具有根据从外部指定的逻辑地址决定物理地址,确定读出数据的物理 块的确定步骤;从上述物理块读出数据的数据读出步骤;在该读出的数据中有能够纠正的错误时,纠正上述错误并输出到 外部的数据输出步骤;把发生了上述能够纠正的错误的物理块的物理地址和与错误数 有关的信息登录到上述错误表中的错误数登录步骤。
31. 根据权利要求30所述的不良区域检测方法,其特征在于, 具有复制步骤,当与登录在上述错误表中的错误数有关的信息表示出大于等于预定的值时,把写入到上述物理块中的数据复制到其它物理块中。
32. 根据权利要求31所述的不良区域检测方法,其特征在于, 在上述数据读出步骤与上述数据输出步骤之间进行上述复制步级
33. 根据权利要求31所述的不良区域检测方法,其特征在于, 在没有对上述非易失性存储装置执行来自外部的数据写入以及读出时,进行上述复制步骤.
34. 根据权利要求33所述的不良区域检测方法,其特征在于, 在对上述非易失性存储装置接通电源之后紧接着进行上述复制步骤。
全文摘要
本发明提供一种非易失性存储装置、存储控制器以及不良区域检测方法,其目的在于为了限制在闪速存储器内发生了固有不良的物理块,准确地检测出该物理块,在ECC错误记录中,记录物理块的错误的发生历史或物理清除的历史,判断所发生的错误是偶发性的还是由固有不良引起的。在最初的读出错误发生以后,如果在物理清除后改写的数据中没有再次发生错误,则判断为最初的错误是偶发性的,如果再次发生错误,则判断为是由固有不良引起的错误。通过使用这样的ECC错误记录,能够准确地判断是偶发性错误还是由固有不良引起的错误。根据该判断,不使用固有不良的物理块,由此能够产生降低读出错误这样的效果。
文档编号G06F12/16GK101243417SQ200680029679
公开日2008年8月13日 申请日期2006年7月13日 优先权日2005年7月15日
发明者小来田重一, 本多利行, 真木晋弘 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1