本发明专利申请是国际申请号为PCT/JP2003/012448,国际申请日为2003年9月29日、进入中国国家阶段的申请号为03801648.6、名称为“非易失性存储器装置的控制方法”的发明专利申请的分案申请。
发明内容
为了解决上述课题,本发明具有下述结构。
本发明的一个观点涉及的非易失性存储器装置的控制方法具有下述步骤:控制步骤,使用清除完表和变换逻辑地址与物理地址的逻辑地址/物理地址变换表,控制上述非易失性存储器的数据的写入和读出,所述清除完表示出非易失性存储器的数据的清除单位即物理块是否清除完;第一标记写入步骤,向第一标记中写入示出写入着数据的固定值,所述第一标记设置在包含在上述物理块中的、具有数据区域和冗余区域、是数据的最小写入单位的多个页中的起始页的上述冗余区域中,示出该起始页中是否写入着数据;数据写入步骤,向该物理块写入数据。
在现有的非易失性存储器装置的控制方法中,例如,在向由32页构成的物理块写入数据的情况下,用将一页作为单位的32次的写入步骤写入数据。但是,在写入中途切断了电源的情况下,存在数据写入还没结束的不正常的物理块。若考虑这样的突然的电源切断,也想准确地知道一个物理块是否清除完,就必须调查32页的全部位,是全部位是1还是包含0的位。
也考虑在第一页中划分第一标记,与第一标记一起写入第一页的数据。但是,在第一页的写入中途切断了电源的情况下,可能发生在第一页的数据区域中正常写入数据,没写入第一标记的状态(刚要记录了0,但该位的值仍是1的状态)。从而,在这样的方法中,就难以判断一个物理块是否真的清除完了。
在本发明中,最初仅单独写入固定值(在实施方式中是00)的第一标记,之后,向32页中写入通常的数据。从而,若一旦开始了写入,即使在写入中切断了电源,第一标记也确实是规定的固定值(例如00)。另外,若第一标记不是固定值(例如11),该物理块确实清除完了。
本发明实现了即使在写入中途切断了电源,也能够准确地检测物理块是否已清除完的非易失性存储器装置的控制方法。
本发明的其他观点涉及的上述非易失性存储器装置的控制方法还具有初始化步骤,在非易失性存储器装置的启动时,读出上述非易失性存储器的全部的上述物理块的上述第一标记,基于上述第一标记是否写入完了,生成逻辑地址/物理地址变换表和清除完表。
根据本发明,即使在数据写入中途切断了电源后的初始化处理中,也能用短时间生成正确的清除完表。这样,能够防止错误地向没清除完的物理块中写数据。
本发明的另外的观点涉及的非易失性存储器装置的控制方法具有下述步骤:控制步骤,使用变换非易失性存储器的逻辑地址与物理地址的逻辑地址/物理地址变换表,控制上述非易失性存储器的数据的写入和读出;数据写入步骤,向上述物理块写入数据;第二标记写入步骤,向第二标记中写入示出该物理块中写入着数据的固定值,所述第二标记设置在包含在上述物理块中的、具有数据区域和冗余区域、是数据的最小写入单位的多个页中的规定页的冗余区域中,示出该物理块中是否写入着数据。
在现有的非易失性存储器装置的控制方法中,例如,在向由32页构成的物理块写入数据的情况下,用将一页作为单位的32次的写入步骤写入数据。但是,在写入中途切断了电源的情况下,产生了数据的写入还没结束的不正常的物理块。若考虑这样的突然的电源切断,就难以判断一个物理块是否真的写入完了。
也考虑在规定页最好是第32页中划分第二标记,与第二标记一起写入第32页的数据。但是,在第32页的写入中途切断了电源的情况下,可能发生第二标记正常写入,其他某个位没写入的状态(刚要记录了0,但该位的值仍是1的状态)。从而,在这样的方法中,就难以判断一个物理块是否真的写入完了。
在本发明中,向32页中写入通常的数据,最后仅单独写入规定的固定值(在实施方式中是00)的第二标记。从而,若第二标记是固定值(例如00),该物理块的写入就确实结束了。若第二标记不是固定值(例如11),就能够判断为在数据写入的中途切断了电源。
本发明实现了即使在写入中途切断了电源,也能准确地检测物理块是否正确地写入结束了的非易失性存储器装置的控制方法。
本发明的进一步的观点涉及的上述非易失性存储器装置的控制方法还具有初始化步骤,在上述非易失性存储器装置的启动时,读出上述非易失性存储器的全部的上述物理块的上述第二标记,基于上述第二标记是否写入完了,生成逻辑地址/物理地址变换表。
根据本发明,即使在数据写入中途切断了电源后的初始化处理中,也能用短时间生成正确的逻辑地址/物理地址变换表。这样,能够防止将写入还没结束的不正常的物理块误判定为有效物理块。
本发明的再进一步的观点涉及的非易失性存储器装置的控制方法具有下述步骤:控制步骤,使用清除完表和变换逻辑地址与物理地址的逻辑地址/物理地址变换表,控制上述非易失性存储器的数据的写入和读出,所述清除完表示出非易失性存储器的数据的清除单位即物理块是否清除完;第一标记写入步骤,向第一标记中写入示出写入着数据的固定值,所述第一标记设置在包含在上述物理块中的、具有数据区域和冗余区域、是数据的最小写入单位的多个页中的起始页的上述冗余区域中,示出该起始页中是否写入着数据;数据写入步骤,向该物理块写入数据;第二标记写入步骤,向第二标记中写入示出该物理块中写入着数据的固定值,所述第二标记设置在上述物理块的规定页的冗余区域中,示出该物理块中是否写入着数据。
在本发明中,最初单独向第一标记写入固定值(在实施方式中是00),之后,向32页中写入通常的数据,最后仅单独写入固定值(在实施方式中是00)的第二标记。从而,若第一标记不是固定值(例如11),就能够判断为该物理块已清除完。若第一标记是固定值(例如00),第二标记不是固定值(例如11),就能够判断为在数据写入的中途切断了电源,写入还没结束。若第一标记和第二标记都是固定值(例如00),就能够判断为该物理块的写入确实结束了。
本发明实现了即使在写入中途切断了电源,也能准确地检测物理块是否已清除完,物理块是否正确地写入结束了的非易失性存储器装置的控制方法。
本发明的再进一步的观点涉及的上述非易失性存储器装置的控制方法还具有初始化步骤,在上述非易失性存储器装置的启动时,读出上述非易失性存储器的全部的上述物理块的上述第一标记和第二标记,基于上述第一标记和第二标记是否写入完了,生成逻辑地址/物理地址变换表和清除完表。
根据本发明,即使在数据写入中途切断了电源后的初始化处理中,也能用短时间生成正确的清除完表和逻辑地址/物理地址变换表。这样,能够防止错误地向没清除完的物理块中写数据。能够防止将写入还没结束的不正常的物理块误判定为有效物理块。
本发明的再进一步的观点涉及的上述非易失性存储器装置的控制方法具有下述步骤:写入步骤,在向物理块写入数据时,将最后页的数据的ECC符号和/或CRC符号,或者,进一步加之上述ECC符号和/或CRC符号的互补数据,写入到该最后页的冗余区域中;初始化步骤,在上述非易失性存储器装置的启动时,从上述非易失性存储器的全部的上述物理块的最后页,读出数据和该数据的ECC符号和/或CRC符号,或者进一步加之读出上述ECC符号和/或CRC符号的互补数据,进行差错检测,基于有无错误,生成逻辑地址/物理地址变换表。
根据本发明,即使在数据写入中途切断了电源后的初始化处理中,也能用短时间生成正确的逻辑地址/物理地址变换表。这样,能够防止将写入还没结束的不正常的物理块误判定为有效物理块。在上述结构中,也可以是不具有第一标记的结构。
本发明的再进一步的观点涉及的上述非易失性存储器装置的控制方法具有最后页写入步骤,向上述物理块的最后页的、除了用于写入可单独个别地写入的数据的区域以外的区域的全部地址中写入数据,用数据和上述数据的ECC符号和/或CRC符号填满该区域,或者,进一步加之上述ECC符号和/或CRC符号的互补数据进行填满。
在本发明中,在向31页写入通常的数据,向最后页写入数据时,用通常的数据、ECC符号和/或CRC符号填满规定的区域,或者进一步加之互补数据进行填满。在初始化处理中,基于数据的匹配性(有无差错检测),能够判断数据写入是否结束了。
本发明实现了即使在写入中途切断了电源,也能准确地检测物理块是否正确地写入结束了的非易失性存储器装置的控制方法。在上述结构中,也可以是不具有第一标记的结构。
本发明的再进一步的观点涉及的上述非易失性存储器装置的控制方法还具有初始化步骤,在上述非易失性存储器装置的启动时,读出上述非易失性存储器的全部的上述物理块的最后页的上述数据和上述数据的ECC符号和/或CRC符号,或者进一步加之读出上述ECC符号和/或CRC符号的互补数据,进行差错检测,基于有无错误,生成逻辑地址/物理地址变换表。
根据本发明,即使在数据写入中途切断了电源后的初始化处理中,也能用短时间生成正确的逻辑地址/物理地址变换表。这样,能够防止将写入还没结束的不正常的物理块误判定为有效物理块。
本发明的再进一步的观点涉及的非易失性存储器装置的控制方法具有下述步骤:控制步骤,使用清除完表和变换逻辑地址与物理地址的逻辑地址/物理地址变换表,控制上述非易失性存储器的数据的写入和读出,所述清除完表示出非易失性存储器的数据的清除单位即物理块是否清除完;物理地址登记步骤,向具有物理地址和第三标记的无效表(清除预定表)中登记旧物理块的物理地址,所述物理地址是具有无效数据的物理块(以下称作“旧物理块”)的物理地址,所述第三标记示出上述旧物理块的无效数据是否清除完,所述无效表设置在具有管理区域和数据记录区域的上述非易失性存储器的上述管理区域中;无效数据清除步骤,清除上述旧物理块的无效数据;第三标记写入步骤,在与上述旧物理块的物理地址相对应的上述第三标记中,写入示出上述旧物理块的无效数据的清除已结束的固定值。
在现有的非易失性存储器装置的控制方法中,在清除物理块的数据的情况下,清除了例如将示出数据是否无效的标记置为无效的物理块。但是,在清除中途切断了电源的情况下,有时数据的清除还没结束,还包含着0的位。若考虑这样的突然的电源切断,也想准确地知道一个物理块是否清除完,就必须调查32页的全部位,是全部位是1还是包含0的位。
在本发明中,在非易失性存储器的管理区域中生成清除预定表,该清除预定表由应清除的物理块的地址和第三标记构成,在清除物理块之前,在清除预定表中登记应清除的物理块的物理地址。之后,清除该物理块。最后,在与已清除的物理块相对应的第三标记中写入固定值(实施方式中是00)。
从而,一旦开始了清除,在清除中途切断了电源的情况下,第三标记就不是规定的固定值(例如11)。在登记在清除预定表中的物理块的第三标记不是固定值的情况下,就准确地知道该物理块的清除还没结束。另外,若第三标记是规定的固定值(例如00),该物理块的清除就确实结束了。
本发明实现了即使在清除中途切断了电源,也能准确地检测物理块的清除是否已结束了的非易失性存储器装置的控制方法。
本发明的再进一步的观点涉及的上述非易失性存储器装置的控制方法还具有下述步骤:无效数据清除步骤,在上述非易失性存储器装置的启动时,读出上述管理区域的上述无效表,清除上述第三标记没写入完的上述旧物理块的无效数据;第三标记写入步骤,在与上述旧物理块的物理地址相对应的上述第三标记中,写入示出上述旧物理块的无效数据的清除已结束的固定值。
本发明实现了在清除中途切断了电源后物理块的清除还没结束,在启动时准确地检测该情况,清除物理块的非易失性存储器装置的控制方法。由此能够防止错误地向没清除完的物理块写数据。
本发明的再进一步的观点涉及的非易失性存储器装置的控制方法具有下述步骤:控制步骤,使用清除完表和变换逻辑地址与物理地址的逻辑地址/物理地址变换表,控制上述非易失性存储器的数据的写入和读出,所述清除完表示出非易失性存储器的数据的清除单位即物理块是否清除完;物理地址登记步骤,在向上述物理块写入数据时,向包含在上述物理块中的、具有数据区域和冗余区域、是数据的最小写入单位的多个页中的规定页的上述冗余区域中,登记具有无效数据的旧物理块的物理地址;无效数据清除步骤,清除上述旧物理块的无效数据;第三标记写入步骤,向上述第三标记中写入示出上述旧物理块的无效数据的清除已结束的固定值,所述第三标记设置在已登记了上述旧物理块的物理地址的上述冗余区域中,示出该旧物理块的无效数据是否已清除完。
本发明实现了即使在清除中途切断了电源,也能准确地检测物理块的清除是否已结束了的非易失性存储器装置的控制方法。由于本发明将旧物理块的物理地址和第三标记,写入在数据写入目的地的物理块的冗余区域中,因此,不需要在非易失性存储器的管理区域中设置用于作成清除预定表的专用的区域。与物理块的规定页的数据写入的同时,登记旧物理块的物理地址,因此,不额外地发生物理地址登记所需的时间,与设置清除预定表的方法相比,处理时间短。
本发明的再进一步的观点涉及的上述非易失性存储器装置的控制方法还具有下述步骤:无效数据清除步骤,在上述非易失性存储器装置的启动时,读出上述物理块的冗余区域的上述第三标记,清除上述第三标记没写入完的上述旧物理块的无效数据;第三标记写入步骤,向上述第三标记中写入示出上述旧物理块的无效数据的清除已结束的固定值。
本发明实现了在清除中途切断了电源后物理块的清除还没结束,在启动时准确地检测该情况,清除物理块的非易失性存储器装置的控制方法。由此能够防止错误地向没清除完的物理块写数据。
本发明的再进一步的观点涉及的非易失性存储器装置的控制方法具有下述步骤:控制步骤,使用清除完表和变换逻辑地址与物理地址的逻辑地址/物理地址变换表,控制上述非易失性存储器的数据的写入和读出,所述清除完表示出非易失性存储器的数据的清除单位即物理块是否清除完;旧数据清除步
骤,在决定了执行数据写入的上述物理块之后,在向上述物理块写入数据之前,必须清除上述物理块中写入着的数据。
根据本发明,能够准确地防止错误地向未清除的物理块写入数据这样的事故。
本发明的再进一步的观点涉及的非易失性存储器装置的控制方法具有下述步骤:控制步骤,使用清除完表和变换逻辑地址与物理地址的逻辑地址/物理地址变换表,控制上述非易失性存储器的数据的写入和读出,所述清除完表示出非易失性存储器的数据的清除单位即物理块是否清除完;旧数据清除步骤,在向上述物理块写入数据之前,读出包含在上述物理块中的具有数据区域和冗余区域的数据的最小写入单位即多个页中的起始页,基于设置在上述起始页的上述冗余区域中的该物理块的管理信息,判断上述起始页是否已清除完,若没清除完,就清除上述物理块中写入着的数据。
根据本发明,能够准确且有效地防止错误地向未清除的物理块写入数据这样的事故。
发明的新规定的特征都特别地记载在了附加的权利要求的范围中,但能够通过附图和以下的详细的说明,与结构和内容双方相关,与其他目的和特征共同地更好地理解本发明。
具体实施方式
以下,与附图共同地记载了具体地示出了用于实施本发明的最佳实施方式的实施方式。
实施方式1
用图1~图7说明实施方式1的非易失性存储器装置的控制方法。在图1中,101是非易失性存储器装置,102是主机。非易失性存储器装置101具有非易失性存储器103、控制器104、清除完表105、逻辑地址/物理地址变换表106。在实施方式1中,非易失性存储器装置101是存储卡,主机102是携带电话,非易失性存储器103是快闪存储器。由于图1~4与现有例相同,故省略详细的说明。
图5是示出本发明的非易失性存储器103的物理块的结构的图。物理块501由32个页构成。一页的容量是528字节,区分为512字节的数据区域502和16字节的冗余区域503。一页是数据的写入单位和读出单位。按照页单位,依次从物理块的页0到页31进行数据的写入。物理块是数据的清除单位,在清除时,一起清除包含在物理块中的全部32页。
非易失性存储器的物理块501的数据用1和0表示,在清除完的状态中,全部的位是1。数据的写入是写入0,不能在0的位上写上1。因此,若在没清除完的物理块中再写入新的数据数据,就成为不正常数据。新数据必须写入在清除完的物理块中。
实施方式1的物理块与现有例的物理块的结构(图24)的不同点在于,在起始页即页0的冗余区域503中具有第一标记511。为了提高数据可靠性,第一标记511用多位数据表示。在实施方式1中,第一标记由2位构成,用逻辑值11或00表示。除此之外,本发明的实施方式1的物理块与现有例的结构相同。
用6和图7说明实施方式1的非易失性存储器装置101的数据重写方法。图6是实施方式1的非易失性存储器装置101的数据重写方法的流程图。图7是阶段地示出向实施方式1的物理块中写入数据的状态的图。
从主机102一接收数据写入指令,非易失性存储器装置101的控制器104就从清除完表105检测清除完的物理块,确保为写入目的地的物理块(步骤601)。在清除完的状态中,非易失性存储器103的物理块501的位全部是1(图7(a))。
首先,在确保的物理块的第一标记上写入固定值(是与清除后的值不同的值,在实施方式中是00)(步骤602、图7(b))。具体地说,在起始页中写入仅第一标记是00,除此之外的数据全部是1的数据。写入目的地物理块成为仅起始页的冗余区域503的一部分(第一标记511)写入完了的状态。第一标记511示出从这儿开始向该物理块中写入数据。之后,依次从物理块的页0到页31,按页单位写入第一标记之外的数据(步骤603、图7(c))。
清除包含无效数据(由于写入新数据而成为不需要的数据)的旧物理块(步骤604)。更新清除完表105和逻辑地址/物理地址变换表106(步骤605)。具体地说,在清除完表105中,在与步骤601中确保的物理块相对应的位中写入0(写入完了)。在与步骤604中清除的旧物理块相对应的位中写入1(清除完了)。更新逻辑地址/物理地址变换表106的与逻辑地址相对应的物理地址,示出已从旧物理块进行了写入的物理块。
用另外的步骤写入第一标记的实施方式1的写入方法,比现有例的写入方法多1个步骤。但是,若用一个步骤执行例如一页(最小写入单位)的写入,则一个物理块(32页)的写入所需的写入步骤数量,就成为仅比现有的32个步骤多1个步骤的33个步骤。
例如,向非易失性存储器103传送一页的数据的时间是40μs,写入一页的数据的时间是200μs,因此,一个物理块的写入时间是(40+200)×32=7680μs。对此,传送一页的仅冗余区域的数据的时间是1.5μs,写入一页的数据的时间是200μs,因此,一页的仅冗余区域的写入时间是1.5+200=201.5μs。从而,实施方式1的数据的写入时间(201.5μs+7680μs)仅比现有例(7680μs)长约2.6%。实施方式与时常向2处写入地址和数据等的现有例1相比,数据写入速度非常快。若一页的写入步骤数不是一个步骤,而是多个步骤,则用另外的步骤写入第一标记的处理速度的降低的比例就更小。
用图4说明实施方式1的初始化处理。图4是现有例的非易失性存储器装置101的初始化处理的流程图,本发明的实施方式1用与现有例相同的方法进行初始化处理。关于非易失性存储器103的全部的物理块,读出仅起始页的冗余区域503(步骤402),判断物理块是否清除完(步骤403)。物理块是否清除完的判断中,在起始页的冗余区域503全部是1的数据的情况下,就是清除完了,在写入着包含值0的位的数据的情况下,就是写入完了。
本发明的实施方式1由于在数据的写入之前向第一标记写入固定值(步骤602),因此,即使在由于电源切断等的异常而数据写入已中断的物理块中,第一标记中也已经写入了00。例如,在向起始页写入数据中处理中断了的物理块中,第一标记也是00。从而,实施方式1的非易失性存储器装置101就不将数据写入已中断(没完全清除完)的物理块错误地判定为清除完,不登记在清除完表105中。
根据本发明的实施方式1的非易失性存储器装置的制造方法,通过比数据先写入第一标记,就能够使用与现有例相同的初始化处理,准确地检测物理块是否已清除完。能够防止在由于电源切断等数据写入在中途中断了的情况下,错误地向没清除完的物理块写数据。
(实施方式2)
使用图1~3、图8~11,说明实施方式2的非易失性存储器装置的控制方法。图1~3与现有例和实施方式1相同,故省略详细的说明。图8是示出本发明的实施方式2的非易失性存储器103的物理块的结构的图。在图8中,在与现有例(图24)相同的部分上,标记相同符号。
实施方式2的物理块与现有例的物理块的结构的不同点在于,规定的页(在实施方式2中,是最后的页即页31)的冗余区域503中具有第二标记801。为了提高数据可靠性,第二标记801用多位数据表示。在实施方式2中,第二标记由2位构成,用逻辑值11或00表示。除此之外,本发明的实施方式2的物理块与现有例的结构相同。
用图9和图10,说明实施方式2的非易失性存储器装置101的数据重写方法。图9是实施方式2的非易失性存储器装置101的数据重写方法的流程图。在图9中,在与实施方式1的图6相同的步骤上标记相同符号。图10是阶段地示出向实施方式2的物理块中写入数据的状态的图。
从主机102一接收数据写入指令,非易失性存储器装置101的控制器104就从清除完表105检测清除完的物理块,确保为写入目的地的物理块(步骤601)。在清除完的状态中,非易失性存储器103的物理块501的位全部是1(图10(a))。
按页单位向确保的物理块写入数据(步骤603。图10(b))。具体地说,按从页0到页30的顺序写入数据。向页31写入除了第二标记以外的数据。具体地说,设第二标记为11,将期望的数据写入最后的页。其结果,写入目的地物理块除了最后页的冗余区域503的一部分(第二标记801)之外,全部成为写入完了的状态。
最后,向第二标记写入固定值(与清除后的值不同的值,在实施方式中是00)(步骤901、图10(c))。具体地说,向最后页写入仅第二标记是00、除此之外的数据全部是1的数据。在第二标记的写入结束时,该物理块的数据的写入就结束了。第二标记801示出物理块的数据写入已结束。
清除包含无效数据(通过写入新数据而变为不需要的数据)的旧物理块(步骤604)。
更新清除完表105和逻辑地址/物理地址变换表106(步骤605)。具体地说,在清除完表105中,在与步骤601中确保的物理块相对应的位上写入0(写入完了)。在与已在步骤604中清除的旧物理块相对应的位上写入1(清除完了)。更新逻辑地址/物理地址变换表106的与逻辑地址相对应的物理地址,示出已从旧物理块进行了写入的物理块。
用另外的步骤写入第二标记的实施方式2的写入方法,比现有例的写入方法多1个步骤。但是,若用一个步骤执行例如一页(最小写入单位)的写入,则一个物理块(32页)的写入所需的写入步骤数量,就成为仅比现有的32个步骤多1个步骤的33个步骤。
例如,向非易失性存储器103传送一页的数据的时间是40μs,写入一页的数据的时间是200μs,因此,一个物理块的写入时间是(40+200)×32=7680μs。对此,传送一页的仅冗余区域的数据的时间是1.5μs,写入一页的数据的时间是200μs,因此,一页的仅冗余区域的写入时间是1.5+200=201.5μs。从而,实施方式2的数据的写入时间(201.5μs+7680μs)仅比现有例(7680μs)长约2.6%。实施方式与时常向2处写入地址和数据等的现有例1相比,数据写入速度非常快。若一页的写入步骤数不是一个步骤,而是多个步骤,则用另外的步骤写入第一标记的处理速度的降低的比例就更小。
用图11说明实施方式2的初始化处理。图11是实施方式2的非易失性存储器装置101的初始化处理的流程图。在图11中,在与图4(现有例和实施方式1)相同的步骤上标记相同符号。
对块计数器设定0(初始值)(步骤401)。控制器104读出非易失性存储器103的读出对象、即物理块的起始页的冗余区域503(步骤402)。
判断物理块是否清除完(步骤403)。用与现有例同样地,用起始页的冗余区域503全部是1的数据,还是写入着包含值0的位的数据,来进行物理块是否清除完的判断。
在起始页的冗余区域全部是1的数据的情况下,判断为物理块清除完了,向清除完表105的与该物理块相对应的栏中写入1,登记为物理块清除完了(步骤404)。前进到步骤407。
在起始页的冗余区域中写入着包含值0的位的数据的情况下,判断为没清除完,读出具有第二标记的最后页的冗余区域(步骤1101)。判断第二标记是否写入完了(步骤1102)。若第二标记没写入完(=11),该物理块就判断为由于电源切断等而写入还没结束,清除物理块(步骤1103),前进到步骤404。
在第二标记写入完了(=00)的情况下,向清除完表105的该物理块栏中写入0(没清除完)(步骤405)。读出起始页的冗余区域503中写入着的逻辑地址,在逻辑地址/物理地址变换表106的与该逻辑地址相对应的位置中登记物理地址(步骤406)。前进到步骤407。
判断是否是最终物理块(步骤407)。若不是最终物理块,就对块计数器加1(步骤408),返回到步骤402,反复进行处理。若是最终物理块,就结束初始化。
实施方式2的非易失性存储器装置的控制方法,不错误地将数据写入已中断的不完全物理块登记在逻辑地址/物理地址变换表106中。例如,在由于电源切断等而写入处理已中断的情况下,第二标记仍是11。即使起始页写入完了,也能判断为直到最后页的写入还没结束。在第二标记是00的情况下,能判断为该物理块的写入已结束。
根据本发明的实施方式2的非易失性存储器装置的控制方法,即使在数据写入由于电源切断等而中途中断了的情况下,也能基于第二标记,正确地生成逻辑地址/物理地址变换表106。
再有,在实施方式2中,在物理块的最后页中具有第二标记801。取而代之,也可以在物理块的最后页以外的任意页的冗余区域503中具有第二标记。该情况下,在图11的初始化处理的步骤1101中,也可以取代最后页,读出具有第二标记的页的冗余区域。
(实施方式3)
用图11和图12,说明实施方式3的非易失性存储器装置的控制方法。实施方式3的非易失性存储器103的物理块501具有第一标记和第二标记两方。实施方式3的物理块具有的第一标记511和第二标记801,分别与实施方式1的第一标记511和实施方式2的第二标记801相同。
用图12说明实施方式3的非易失性存储器装置101的数据重写方法。图12是实施方式3的非易失性存储器装置101的数据重写方法的流程图。在图12中,在与实施方式1的图6和实施方式2的图9相同的步骤上标记相同符号。
从主机102一接收数据写入指令,非易失性存储器装置101的控制器104就从清除完表105检测清除完的物理块,确保为写入目的地的物理块(步骤601)。在清除完的状态中,非易失性存储器103的物理块501的位全部是1(图7(a))。
首先,在确保的物理块的第一标记上写入固定值(在实施方式中是00)(步骤602、图7(b))。写入目的地物理块仅起始页的冗余区域503的一部分(第一标记511)成为写入完了状态。第一标记511示出从这儿开始向该物理块中写入数据。
之后,按页单位,向物理块写入数据(步骤603、图7(c))。具体地说,向页0写入除了第一标记以外的数据。按照从页1到页30的顺序写入数据。向页31写入除了第二标记以外的数据(图10(b))。
最后,向第二标记写入固定值(在实施方式中是00)(步骤901、图10(c))。在第二标记的写入结束时,该物理块的数据的写入就结束了。第二标记801示出物理块的数据写入已结束。
清除包含无效数据(通过写入新数据而变为不需要的数据)的旧物理块(步骤604)。
更新清除完表105和逻辑地址/物理地址变换表106(步骤605)。具体地说,在清除完表105中,在与步骤601中确保的物理块相对应的位上写入0(写入完了)。在与已在步骤604中清除的旧物理块相对应的位上写入1(清除完了)。更新逻辑地址/物理地址变换表106的与逻辑地址相对应的物理地址,示出已从旧物理块进行了写入的物理块。
用图11说明实施方式3的初始化处理。实施方式3用与实施方式2相同的方法进行初始化处理。在步骤402中,读出物理块的仅起始页的冗余区域503。在步骤403的物理块是否清除完的判断中,在起始页的冗余区域503全部是1的数据的情况下,判断为清除完了,在写入着包含值0的位的数据的情况下,判断为写入完了。
在起始页的冗余区域全部是1的数据的情况下,即,第一标记中还没写入固定值的情况下,在清除完表105的该物理块栏中写入1,登记为物理块清除完(步骤404)。
在冗余区域503没清除完,即,第一标记中写入着固定值的情况下,读出最后页的冗余区域(步骤1101)。判断最后页的冗余区域中具有的第二标记是否写入完了(步骤1102)。若第二标记没写入完了(=11),该物理块就判断为由于电源切断等而写入还没结束,清除该物理块(步骤1103),前进到步骤404。
在第二标记写入完了(=00)的情况下,向清除完表105的该物理块栏中写入0(没清除完)(步骤405)。读出起始页的冗余区域503中写入着的逻辑地址,在逻辑地址/物理地址变换表106的与该逻辑地址相对应的位置中登记物理地址(步骤406)。前进到步骤407。
从而,能够如下地判定实施方式3中的物理块的状态。
在第一标记=11且第二标记=11的情况下,物理块示出清除完了(未写入)。
在第一标记=00且第二标记=11的情况下,示出由于电源切断等而数据写入在中途中断,数据的写入已开始但还没结束。
在第一标记=11且第二标记=00的情况下,正常的处理中不发生。
在第一标记=00且第二标记=00的情况下,示出物理块写入完了。
根据本发明的实施方式3的非易失性存储器装置的控制方法,通过比数据先写入第一标记,能准确地检测物理块是否已清除完。
根据本发明的实施方式3的非易失性存储器装置的控制方法,通过在写入数据之后写入第二标记,能准确地检测物理块是否已写入完。
根据本发明的实施方式3的非易失性存储器装置的控制方法,即使在由于电源切断等而数据写入中途中断了的情况下,也能基于第一标记和第二标记,正确地生成清除完表105和逻辑地址/物理地址变换表106的两方。实施方式3具有实施方式1的效果和实施方式2的效果的两方。
再有,在实施方式3中,在物理块的最后页中具有第二标记801。取而代之,也可以在物理块的最后页以外的任意页的冗余区域503中具有第二标记。该情况下,在图11的初始化处理的步骤1101中,也可以取代最后页,读出具有第二标记的页的冗余区域。
再有,通过用另外的步骤写入第一标记和第二标记,在初始化处理中生成的清除完表105和逻辑地址/物理地址变换表106的正确性提高了。但是,实施方式3的写入方法比现有例的写入方法多2个步骤处理,比实施方式1或实施方式2的写入方法多1个步骤处理,因此,数据写入所需的时间长。例如,一个物理块的写入数据是7680μs,一页的仅冗余区域的写入数据是201.5μs,因此,实施方式3的数据写入时间比现有例长5.2%,比实施方式1和实施方式2长约2.6%。
也可以根据是优先数据写入所需的时间和初始化处理所需的时间的缩短,还是优先清除完表105和逻辑地址/物理地址变换表106的正确性,仅具有第一标记(实施方式1),也可以仅具有第二标记(实施方式2),也可以共同具有第一标记和第二标记(实施方式3)。
(实施方式4)
用图13说明实施方式4的非易失性存储器装置的控制方法。图13是示出实施方式4的非易失性存储器103的物理块501的结构的图。实施方式4的物理块501与实施方式2的物理块的不同点在于,取代第二标记801,在最后页中具有管理信息A1301和管理信息A’1302。实施方式4的物理块与实施方式2相同。
在实施方式4中,管理信息A1301关于各物理块是单值数据,例如,包含最后页的数据的ECC符号和/或CRC符号。管理信息A’1302是管理信息A的各个位反转后的数据(互补数据)。
ECC符号、CRC符号也可以是最后页的仅冗余区域503的数据的ECC符号、CRC符号,也可以是数据区域(或数据区域和冗余区域)的数据ECC符号、CRC符号。
最好向物理块的最后页的区域中的、除了用于写入能单独个别写入的数据(例如第二标记等)的区域之外的全部地址写入数据,用数据、ECC符号和/或CRC符号、该ECC符号和/或CRC符号的互补数据,填满该区域。这样,能使电源瞬时停电而引起的误判断的概率进一步小。
说明实施方式4的非易失性存储器装置101的数据重写方法。用与现有例的图25相同的流程图,进行实施方式4的非易失性存储器装置101的数据重写方法。但是,步骤603的处理不同。实施方式4的非易失性存储器装置101在向物理块501写入数据的情况下(步骤603),与向最后页即页31的数据区域502写入数据的同时,向冗余区域503写入管理信息A和管理信息A’。除此之外,与现有例的数据重写方法相同,故省略说明。
用图11说明实施方式4的非易失性存储器装置101的初始化处理。实施方式4的初始化处理的步骤1101和步骤1102与实施方式2不同。在实施方式2中,仅读出最后页的冗余区域(步骤1101),基于第二标记801是否已写入完了,判断物理块501中是否写入着数据(步骤1102)。在实施方式4中,读出最后页的数据区域和冗余区域(步骤1101)。利用数据和ECC符号和/或CRC符号,判断最后页的数据中是否有错误,或进一步判断管理信息A1301和管理信息A’1302是否是互补的关系(是匹配还是包含错误)(步骤1102)。任数据和ECC符号和/或CRC符号匹配,并且管理信息A和管理信息A’是互补数据的情况下,判断为物理块已写入完了,前进到步骤405。在数据和ECC符号和/或CRC符号不匹配,或者管理信息A和管理信息A’不是互补数据(包含错误)的情况下,判断为物理块的写入由于电源切断等而中途中断了,在步骤1103中清除了物理块后,前进到步骤404。除此之外,与实施方式2的初始化处理相同,故省略说明。
根据实施方式4的非易失性存储器装置的控制方法,由于与向数据区域502写入数据的同时,向冗余区域503写入互补数据(管理信息A和A’),因此,不需要用于写入互补数据的多余的程序时间。与在物理块501中写入了数据后,用另外步骤写入第二标记801的实施方式2相比,处理时间快。但是,实施方式4的控制方法的误判断的可能性虽然极接近于零,但是不是零,在正确的可靠性中,还是实施方式2的控制方法有优势。
也可以根据是优先数据写入所需的时间的缩短,还是优先清除完表105和逻辑地址/物理地址变换表106的正确性,具有第二标记(实施方式2),也可以具有互补数据(实施方式4)。
也可以取代上述方法,不具有管理信息A’1302,而在最后页的冗余区域中仅具有ECC符号和/或CRC符号。最好向物理块的最后页的区域中的、除了用于写入能单独个别写入的数据(例如第二标记等)的区域之外的全部地址写入数据,用数据、ECC符号和/或CRC符号填满该区域。这样,能使电源瞬时停电而引起的误判断的概率进一步小。
与向最后页即页31的数据区域502中写入数据的同时,向冗余区域503写入ECC符号和/或CRC符号。除此之外,与现有例的数据重写方法相同。
用图11说明不具有管理信息A’1302时的非易失性存储器装置101的初始化处理。读出最后页的数据区域和冗余区域(步骤1101)。根据数据和ECC符号和/或CRC符号,判断最后页的数据中是否有错误(步骤1102)。若数据和ECC符号和/或CRC符号匹配,就判断为物理块已写入完了,前进到步骤405。若数据和ECC符号和/或CRC符号不匹配,就判断为物理块的写入由于电源切断等而中途中断了,在步骤1103中清除了物理块后,前进到步骤404。除此之外,与具有管理信息A’1302的上述的初始化处理相同,故省略说明。
(实施方式5)
用图14~图18说明实施方式5的非易失性存储器装置的控制方法。实施方式1~4的非易失性存储器装置的控制方法是对在数据写入中发生了电源切断的情况进行处理的方法。实施方式5的非易失性存储器装置的控制方法是能够对在数据清除中发生了电源切断的情况进行处理的方法。
在现有例(图25)的步骤604中,若正在清除旧物理块的过程当中发生了电源切断,则有可能该旧物理块的清除还没结束。若在该状态下,在电源再次接通时进行初始化处理,就有可能错误地将还没完全清除的旧物理块(例如,起始页的冗余区域清除完,剩余的数据写入完了的物理块)判断为已清除完,登记在清除完表105中。此外,也有可能错误地将还没完全清除的旧物理块(例如,起始页的冗余区域写入完了,剩余的数据清除完的物理块)判断为写入完了,登记在逻辑地址/物理地址变换表106中。
为了防止如上所述的误判断,实施方式5的非易失性存储器装置的控制方法实现了能够对在数据清除中发生了电源切断的情况进行处理的方法。实施方式5的非易失性存储器装置101在非易失性存储器中具有用于判断旧物理块是否清除完的清除预定表。
图14是示出非易失性存储器的结构的图。非易失性存储器103被区分为管理区域1411和数据记录区域1412。数据记录区域1412是用于写入数据的区域。在实施方式5中,数据记录区域1412的物理块501与现有例的物理块501(图24)相同。管理区域1411是存储非易失性存储器103的管理信息的区域,将管理区域1411的物理块1401分配为清除预定表。再有,所述的管理区域1411和数据记录区域1412,可以由控制器104明确地区别,不需要在非易失性存储器103内的固定的物理块中占有管理区域1411。也可以不取决于已固定的物理块,而使该区域自由地变化。
图15是示出清除预定表的结构的图。清除预定表1501由登记进行清除的物理块的物理地址1511的清除地址登记区域1502和冗余区域1503构成。冗余区域1503具有第三标记1512。为了提高数据可靠性,第三标记1512用多位数据表示。在实施方式5中,第三标记由2位构成,用逻辑值11或00表示。第三标记1512表示该页的清除地址登记区域1502中写入着的物理地址1511所示出的物理块是否清除完。在第三标记是“11”的情况下,判断为物理块未清除,在第三标记是“00”的情况下,判断为物理块清除完了。清除预定表1501由物理块1401构成,因此,具有页0到页31,能够登记32个部分的物理地址。在实施方式5中,物理地址的登记从页0开始升序地进行。
用图16和图17说明实施方式5的数据重写方法。图16是实施方式5的非易失性存储器装置101的数据重写方法的流程图。在图16(实施方式5)中,在与图25(现有例)相同的步骤上标记相同符号。图17是阶段地示出向清除预定表中写入物理地址和第三标记的状态的图。图17中,在页0和页1中已经写入了物理地址,并且第三标记是“00”,因此,登记在页0和页1中的物理块是清除完。这次使用页2。
实施方式5的数据重写方法(图16)与现有例(图25)的不同点在于,附加了步骤1601和1602。关于步骤1601以后的步骤进行说明。
物理块的数据写入一结束,就将包含无效数据(由于写入新数据而成为不需要的数据)的旧物理块的物理地址1511,登记在清除预定表1501的清除地址登记区域1502中(步骤1601、图17(b))。通过登记在清除预定表中,示出是应清除的物理块。之后,清除旧物理块(步骤604)。
向已登记了旧物理块的物理地址1511的清除预定表的页2的冗余区域1503的第三标记1512中写入固定值(在实施方式中是00)(步骤1602、图17(c))。通过向第三标记写入固定值,示出登记的旧物理块的清除结束了。
更新清除完表105和逻辑地址/物理地址变换表106(步骤605)。具体地说,在清除完表105中,在与步骤601中确保的物理块相对应的位上写入0(写入完了)。在与步骤604中清除的旧物理块相对应的位上写入1(清除完了)。更新逻辑地址/物理地址变换表106的与逻辑地址相对应的物理地址,示出已从旧物理块进行了写入的物理块。
实施方式5的非易失性存储器装置101在进行了图4中示出的初始化处理之后,进行图18中示出的初始化处理。在图4中,由于与现有例相同,故省略说明。关于图18进行说明。
读出非易失性存储器103的管理区域1411中具有的清除预定表1501(步骤1801)。判断是否有没清除完的物理块(步骤1802)。若清除预定表1501的清除地址登记区域1502中还没登记物理地址,或者,在与全部的登记完的物理地址1511相对应的第三标记1512中写入着固定值(00),就判断为没有没清除完的物理块,结束初始化处理。
在清除预定表1501中登记着物理地址1511,但还没写入第三标记1512(11)的情况下,就判断为由于电源切断等而清除中途结束了,就清除登记着的物理块(步骤1803)。在与清除预定表1501的清除后的物理块相对应的第三标记1512中写入固定值(步骤1804)。
由于清除中的电源切断等的异常,有可能作完的表中有错误,因此,修正清除完表105和逻辑地址/物理地址变换表106(步骤1805)。具体地说,在清除完表105中登记已清除的物理块。若在逻辑地址/物理地址变换表106中有已清除的物理块,就删除登记。返回到步骤1802,反复进行处理,直到已登记在清除预定表中的物理块全部被清除。
根据本发明的实施方式5的非易失性存储器装置的控制方法,通过在清除预定表1501中写入物理地址1511和第三标记1512,就能够准确地检测物理块501的清除是否已结束。即使在由于电源切断等而物理块的清除中途中断了的情况下,在再次启动时,也能够基于清除预定表1501,完全地清除没清除完的物理块,能够正确地生成清除完表105和逻辑地址/物理地址变换表106的两方。这样,能够防止错误地向没清除完的物理块中写数据。
再有,也可以组合与数据清除中的电源切断相对应的实施方式5的非易失性存储器装置的控制方法和与数据写入中的电源切断相对应的实施方式1~4的某一个非易失性存储器装置的控制方法。这样,能够生成可靠性更高的清除完表105和逻辑地址/物理地址变换表106。
再有,实施方式5的清除预定表1501不只限于数据重写时的旧物理块的清除,也可以在基于来自主机102的清除指令清除物理块的情况中使用。
(实施方式6)
用图19~21说明实施方式6的非易失性存储器装置的控制方法。实施方式6的非易失性存储器装置的控制方法是能够对在数据清除中发生了电源切断的情况进行处理的方法。
关于实施方式6的非易失性存储器装置的控制方法与实施方式5的不同点进行说明。实施方式5的控制方法在非易失性存储器103的管理区域1411中具有的清除预定表1501中,登记了进行清除的物理块的物理地址1511和第三标记1512,所述第三标记1512示出该物理块是否清除完了。实施方式5的控制方法用与对数据记录区域1412的物理块501的数据写入不同的另外步骤,在清除预定表1501中登记物理地址1511,因此,有清除预定表1501的写入所需时间长的缺点。
在实施方式6中实现处理时间短的控制方法。图19是示出实施方式6的物理块的结构的图。实施方式6的物理块501在规定页(在实施方式6中是起始页)的冗余区域503中具有旧物理块的物理地址(称作“旧物理地址”)1911和第三标记1512,所述第三标记1512示出旧物理块是否已清除完。实施方式6的旧物理地址1911的登记区域由2个字节构成。
第三标记1512与实施方式5的第三标记同样,为了提高数据可靠性,用多位数据表示。在实施方式6中,第三标记由2位构成,用逻辑值11或00表示。第三标记1512表示旧物理地址1911示出的物理块是否已清除完。在第三标记是“11”的情况下,判断为旧物理地址1911示出的物理块未清除,在第三标记是“00”的情况下,判断为清除完了。
在实施方式6中,非易失性存储器103不具有清除预定表1501,使用数据写入目的地的物理块501的冗余区域503,登记旧物理块是否已清除完。
用图20说明实施方式6的数据重写方法。图20是实施方式6的非易失性存储器装置101的数据重写方法的流程图。在图20中,在与现有例的图25相同的步骤上标记相同符号。
从主机102一接收数据写入指令,非易失性存储器装置101的控制器104就从清除完表105检测清除完的物理块,确保为写入目的地的物理块(称作“新物理块”)(步骤601)。
与向新物理块写入数据的同时,将包含无效数据(由于写入新数据而成为不需要的数据)的旧物理块的物理地址1911和与旧物理块相对应的第三标记1512(值是示出未清除的11),写入在新物理块的起始页的冗余区域503中(步骤2001)。
清除旧物理块(步骤604)。向新物理块的起始页的冗余区域503中具有的第三标记中写入固定值(在实施方式中是示出清除完的00)(步骤2002)。通过在第三标记中写入固定值,示出已清除了旧物理块。更新清除完表105和逻辑地址/物理地址变换表106(步骤605)。
用图21说明实施方式6的非易失性存储器装置101的初始化处理。实施方式6的非易失性存储器装置101在初始化处理时,基于第三标记1512,在RAM上生成无效表。无效表用于登记由于电源切断等而数据的清除中断了的不正常的旧物理块的物理地址和登记着旧物理块是否已清除完的新物理块的物理地址。图21是实施方式6的非易失性存储器装置101的初始化处理的流程图。在图21中,在与现有例的图4相同的步骤上标记相同符号,省略说明。关于步骤2101~2107进行说明。
对于在步骤401~406中已判断为写入完了的物理块501,基于在步骤402中读出的起始页的冗余区域503,判断是否有第三标记1512未写入(=11)的旧物理块(步骤2101)。若还没登记旧物理地址1911,或者第三标记1512是清除完(=00),就前进到步骤407。
若登记着旧物理地址1911,但第三标记1512未写入,就判断为在清除处理中发生电源切断等的异常,旧物理块的清除还没结束。在RAM上作成的无效表中登记新物理块(冗余区域503中写入着旧物理块的物理地址1911的物理块)的物理地址和旧物理块的物理地址(步骤2102),前进到步骤407。
判断当前的物理块是否是最终物理块(步骤407)。若不是最终物理块,就对块计数器加1(步骤408),返回到步骤402。若是最终物理块,就判断RAM上生成的无效表中是否写入着新物理块和旧物理块的地址(步骤2103)。若无效表是空,就结束初始化处理。若无效表中登记着地址,就清除该旧物理块(步骤2104)。在写入着已清除的旧物理块的物理地址的新物理块的第三标记中写入固定值(步骤2105)。通过在第三标记中写入固定值,示出已完全清除了旧物理块。更新RAM上的无效表(步骤2106)。具体地说,从无效表删除新物理块和旧物理块的地址,示出没有未清除的旧物理块。
由于清除中的电源切断等的异常,有可能在作完的表中有错误,因此,更新清除完表105和逻辑地址/物理地址变换表106(步骤2107)。具体地说,在清除完表105中登记已清除的旧物理块。若逻辑地址/物理地址变换表106中有已清除的旧物理块,就删除登记。
实施方式6的非易失性存储器装置的控制方法,由于不需要在非易失性存储器103的管理区域1411中确保用于设置清除预定表1501的专用区域。与对数据记录区域1412的物理块501写入数据的同时,在其起始页中登记旧物理块的地址1911,与实施方式5相比,处理时间短。但是,由于实施方式6的控制方法将进行清除的旧物理块的物理地址1911登记在新物理块501的冗余区域503中,因此,仅能够在数据重写时使用,在基于来自主机102的清除指令清除物理块的情况下,不能使用。
实施方式6的非易失性存储器装置101通过与旧物理块的清除平行地,向非易失性存储器103传送下次执行的写入数据,就能够缩短数据重写所需要的时间。
再有,旧物理块的物理地址1911和第三标记1512的登记不限定于新物理块501的起始页。也可以登记在除新物理块的起始页以外的冗余区域503中。该情况下,在初始化处理中,也可以在图21的步骤406和步骤2101间,附加读出具有旧物理地址1911和第三标记1512的页的冗余区域的步骤。
再有,也可以组合与数据清除中的电源切断相对应的实施方式6的非易失性存储器装置的控制方法和与数据写入中的电源切断相对应的实施方式1~4的某一个非易失性存储器装置的控制方法。这样,能够生成可靠性更高的清除完表105和逻辑地址/物理地址变换表106。
(实施方式7)
用图22说明实施方式7的非易失性存储器装置的控制方法。在实施方式1~6中,关于在数据写入中或数据清除中发生了电源切断等而处理中断了的情况下,使用第一标记、第二标记、第三标记或互补数据,在下一次启动时检测它们,能够正确地生成清除完表105和/或逻辑地址/物理地址变换表106的非易失性存储器装置的控制方法进行了说明。
在实施方式7的非易失性存储器装置的控制方法中,是实现即使不具有上述第一~第三标记和互补数据,与现有的物理块相同的结构,也能够正确地写入数据的方法。在实施方式7中,由于物理块不具有第一~第三标记和互补数据,用与现有例相同的方法进行初始化处理,因此,不能检测由于电源切断等而中断了处理。例如,有时由于电源切断等,错误地将清除还没结束的不正常的物理块判断为清除完了,登记在清除完表105中(图4、步骤404)。
因此,在实施方式7中,用图22的方法进行数据重写。图22是实施方式7的非易失性存储器装置101的数据重写方法的流程图。在图22中,在与现有例的图25相同的步骤上标记相同符号,省略说明。实施方式7的数据重写方法(图22)与现有例(图25)的不同点在于,附加了步骤2202。
从主机102一接收数据写入指令,非易失性存储器装置101的控制器104就从清除完表105检测清除完的物理块,确保为写入目的地的物理块(步骤601)。但是,虽然由于写入中或清除中的电源切断等的异常,实际上该写入目的地物理块没清除完,但有可能在初始化处理中,错误地登记在了清除完表中。因此,一旦清除已确保的写入目的地物理块,就确实成为清除完的状态(步骤2202)。之后,向物理块写入数据(步骤603)。
实施方式7的控制方法,即使在错误地将在初始化处理中没清除完的物理块判断为清除完,登记在了清除完表105中的情况下,也能通过在数据写入之前暂且先清除物理块,来正确地处理来自主机102的写入指令。
再有,也可以组合实施方式7的非易失性存储器装置的控制方法和实施方式1~6。这样,写入时间和读出时间等的处理时间变多,但能够正确地生成清除完表105和逻辑地址/物理地址变换表106,并且,能够准确地在清除完的物理块中写入数据。
(实施方式8)
用图23说明实施方式8的非易失性存储器装置的控制方法。实施方式8是与实施方式7同样地,即使物理块不具有第一~第三标记和互补数据,与现有的物理块相同的结构,也能够正确地进行数据重写的方法。
图23是实施方式8的非易失性存储器装置101的数据重写方法的流程图。在图23中,在与图22相同的步骤上标记相同符号,省略说明。实施方式8的数据重写方法(图23)与实施方式7(图22)的不同点在于,附加了步骤2302和步骤2303。除此之外与实施方式7相同。
在实施方式7中,在数据写入之前暂且先清除了全部的物理块。但是,非易失性存储器103的物理块的清除所需的时间,比物理块的一页的读出所需的时间非常长。因此,在实施方式8中,读出具有写入目的地物理块的管理信息的起始页的数据(步骤2302)。在物理块没清除完的情况下,在起始页的冗余区域中写入该物理块的管理信息(例如,已写入在数据区域中的数据的互补数据、ECC符号和/或CRC符号、与该物理块相对应的逻辑地址等的信息)。读出起始页,若检测管理信息全部是1或包含0,就能够判断物理块是否已清除完。
判断起始页是否清除完(步骤2303),若起始页没清除完,就判断为由于电源切断等而物理块的清除还没结束,清除物理块(步骤2202)。若起始页清除完,就不执行步骤2202,前进到步骤603。
实施方式8的控制方法即使在错误地将初始化处理中没清除完的物理块判断为清除完,登记在了清除完表105中的情况下,也能正确地处理来自主机102的写入指令。
在实施方式8中,通过读出物理块的起始页,判断是否清除完,仅清除未清除的物理块,能够比实施方式7缩短数据重写所需的时间。
再有,也可以组合实施方式8的非易失性存储器装置的控制方法和实施方式1~6。在非易失性存储器103中存在不正常状态的物理块的情况下,通过组合使用实施方式,提高数据写入的正确性。能正确地生成清除完表105和逻辑地址/物理地址变换表106,并且,能够准确地在清除完的物理块中写入数据。
本发明得到了这样的有利效果,即,实现了在数据写入中或清除中发生电源切断等的异常而处理中断了的情况下,也能正常地进行下一次启动后的数据写入的非易失性存储器装置的控制方法。这样,能够正确地对非易失性存储器进行存取,实现具有高数据可靠性的非易失性存储器装置的控制方法。
关于最佳实施方式,在某种程度上详细地说明了本发明,但该最佳实施方式的公开内容也可以在结构的细小部分中适当地进行变化,可以不脱离发明的请求范围和思想,实现各要素的组合和顺序的变化。