非易失性存储器的数据改写方法以及半导体装置与流程

文档序号:17475684发布日期:2019-04-20 06:06阅读:159来源:国知局
非易失性存储器的数据改写方法以及半导体装置与流程

本发明涉及存储器,特别是涉及进行写入到非易失性存储器中的数据的改写的数据改写方法、以及包含非易失性存储器的半导体装置。



背景技术:

作为非易失性的半导体存储器的nand型闪速存储器(以下,称为nand存储器)以页面为单位进行数据的写入和读出,以由多个页面构成的块为单位进行数据的擦除。

在nand存储器中,不能将数据覆盖到数据写入完毕的页面,因此,例如如以下那样进行数据的改写(例如,参照专利文献1)。

即,首先,将写入用数据写入到未写入数据的空闲块中。接着,从由地址指定的写入目的地的块内读出未成为数据的改写对象的全部数据,将其如上述那样写入到写入了写入用数据的空闲块中。然后,将该块设定为能够从外部接入的块,并且,通过擦除上述的写入目的地的块的数据来确保空闲块。

现有技术文献

专利文献

专利文献1:日本特开2009-134682号。

发明要解决的课题

像这样,在上述的数据写入方法中,以作为数据的擦除单位的块为单位进行了数据的改写。

因此,当写入用数据的数据容量比块的存储容量小时,如上述那样,需要从写入目的地的块读出未成为数据的改写对象的全部数据并将其写入到空闲块中这样的复制处理。因此,产生了在数据的改写处理中花费时间这样的问题。



技术实现要素:

因此,本发明的目的在于提供能够缩短数据的改写时间的非易失性存储器的数据改写方法以及半导体装置。

用于解决课题的方案

本发明的非易失性存储器的数据改写方法是,一种非易失性存储器的数据改写方法,所述非易失性存储器具有多个块,所述数据改写方法具有:数据写入步骤,接收写入用数据和表示写入目的地的块的逻辑地址,在所述写入目的地的块为数据写入完毕的情况下,将在所述多个块之中数据未写入的空闲块作为临时保管块,将所述写入用数据写入到所述临时保管块中;以及管理步骤,向所述写入目的地的块和所述临时保管块这一对分配与该一对对应的索引号码,生成将所述索引号码与表示所述临时保管块在所述非易失性存储器内的位置的物理地址对应起来表示的管理表,在所述数据写入步骤中,从所述管理表取得向所述写入目的地的块分配的所述索引号码所对应的所述物理地址,将所述写入用数据写入到由所述物理地址表示的所述临时保管块中。

此外,本发明的半导体装置是,一种半导体装置,包含具有多个块的非易失性存储器,所述半导体装置具有:数据写入控制部,接收写入用数据和表示写入目的地的块的逻辑地址,在所述写入目的地的块为数据写入完毕的情况下,将在所述多个块之中数据未写入的空闲块作为临时保管块,将所述写入用数据写入到所述临时保管块中;以及管理控制部,向所述写入目的地的块和所述临时保管块这一对分配与该一对对应的索引号码,生成将所述索引号码与表示所述临时保管块在所述非易失性存储器内的位置的物理地址对应起来表示的管理表,所述数据写入控制部从所述管理表取得向所述写入目的地的块分配的所述索引号码所对应的所述物理地址,将所述写入用数据写入到由所述物理地址表示的所述临时保管块中。

发明效果

在本发明中,在对写入到由逻辑地址指定的写入目的地的块中的数据进行改写时,将数据未写入的空闲块作为临时保管块,将写入用数据写入到该临时保管块中。进而,向写入目的地的块和临时保管块这一对分配与该一对对应的索引号码,生成将该索引号码与临时保管块的物理地址对应起来表示的管理表。

由此,即使在只有块内的一部分的数据片被改写的情况下,从管理表参照索引号码,由此,也能够读出改写后的数据片。

因此,在对块内的一部分的数据片进行改写时,与以往的数据改写方法相比,能够缩短数据的改写时间,所述以往的数据改写方法需要将写入到数据写入目的地的块中的上述数据片以外的数据向临时保管块复制并且将该临时保管块设定为可外部接入的状态这样的一系列的处理。

此外,在多个块成为数据的改写对象的情况下多个临时保管块成为管理对象,但是,在本发明中,能够利用索引号码取得表示从多个临时保管块之中成为接入对象的临时保管块的物理地址。

因此,与针对多个临时保管块1个1个地进行是否为接入对象的判定来检索相当于接入对象的临时保管块的情况相比,能够迅速地取得表示接入对象的临时保管块的物理地址。

附图说明

图1是示出具有主机(host)装置10和作为本发明的半导体装置的非易失性存储器20的、信息处理系统100的结构的框图。

图2是示意性地表示闪速存储器部24的存储区域的划分的图。

图3是表示地址交换表tb1的一个例子的图。

图4是表示临时保管块管理表tb2的一个例子的图。

图5是示出表示数据改写处理的顺序的流程图的图。

图6是示出表示数据改写处理的顺序的流程图的图。

图7是表示数据改写稍前的阶段中的闪速存储器部24的状态的一个例子的图。

图8是表示数据改写处理的第二阶段中的闪速存储器部24的状态的一个例子的图。

图9是表示数据改写处理的第三阶段中的闪速存储器部24的状态的一个例子的图。

图10是表示数据改写处理的第四阶段中的闪速存储器部24的状态的一个例子的图。

图11是表示数据改写处理的第五阶段中的闪速存储器部24的状态的一个例子的图。

图12是表示数据改写处理的第六阶段中的闪速存储器部24的状态的一个例子的图。

图13是表示空闲块(freeblock)为剩余2个的情况下的闪速存储器部24的状态的一个例子的图。

图14是表示空闲块为剩余1个的情况下的闪速存储器部24的状态的一个例子的图。

图15是表示在空闲块仅为剩余1个的情况下实施的注册工作和空闲块的确保工作以及闪速存储器部24的状态的图。

具体实施方式

以下,参照附图并详细地说明本发明的实施例。

图1是示出具有主机装置10和作为本发明的半导体装置的非易失性存储器20的、信息处理系统100的结构的框图。

主机装置10进行基于在非易失性存储器20中存储的数据的信息处理。此外,主机装置10将写入命令、表示写入目的地的地址和写入用的数据或者读出命令和地址向非易失性存储器20供给。

非易失性存储器20具有:主机接口部(以下,称为主机if部)21、内部总线22、ram(randomaccessmemory,随机存取存储器)23、闪速存储器部24、以及存储器控制部25。

主机if部21将从主机装置10供给的写入命令、表示写入目的地的地址和写入用的数据或者读出命令和读出用的地址向内部总线22供给。此外,主机if部21将从闪速存储器部24读出的读出数据向主机装置10供给。

ram23存储:从主机装置10供给的写入用的数据、从闪速存储器部24读出的读出数据、以及在闪速存储器部24中储存的管理信息。

闪速存储器部24为例如nand型的非易失性的半导体存储器。

图2是示意性地表示闪速存储器部24的存储区域的划分的图。如图2所示那样,闪速存储器部24的存储区域包含写入了数据的数据区域da和存储了管理信息的管理区域ma。

数据区域da如图2所示那样被划分为由物理地址“0”~“(n-1)”(n为2以上的整数)表示的n个块b1~bn。

在管理区域ma中存储了地址变换表tb1和临时保管块管理表tb2。

图3是表示地址变换表tb1的内容的一个例子的图。如图3所示那样,在地址变换表tb1中,与主机装置10处理的地址即逻辑地址对应起来记述了表示闪速存储器部24的块的物理地址。再有,在地址变换表tb1中,记述了在物理地址“0”~“(n-1)”之中表示数据写入完毕的块的物理地址。

进而,在地址变换表tb1中,与表示数据写入完毕块的物理地址对应起来记述了索引号码。索引号码是指以下号码:用于识别数据写入完毕块之中的数据改写中的块和代替该数据改写中的块而写入了写入用数据的暂时保管块这一对。其中,对不为数据改写中的块一律记述有具有初始值(例如0)的索引号码。

例如,在地址变换表tb1中,与表示数据写入完毕或数据的改写完成且在目前不为数据的改写中的块的物理地址对应起来,记述了例如“0”来作为索引号码。此外,与表示数据改写中的块的物理地址对应起来记述了按照每个块具有不同的“1”以上的号码的索引号码。

图4是表示临时保管块管理表tb2的内容的一个例子的图。

如图4所示那样,在临时保管块管理表tb2中,记述了表示上述的临时管理块的物理地址、与该临时保管块对应的上述索引号码、页面有效信息、以及经过信息。

再有,在临时保管块管理表tb2中,记述了对在地址变换表tb1中记述的索引号码之中的最大的索引号码加上“1”后的索引号码k(k为整数)。该索引号码k表示接下来使用的索引号码,作为与该索引号码k对应的物理地址,记述了作为未使用的地址的例如“0xffff”。

图4所示的页面有效信息是指:按照由物理地址表示的块内的每个页面而使用各位位的逻辑电平来表示该页面为“有效页面”或者为“无效页面”的信息,所述“有效页面”由于在目前未写入数据所以未更新数据而能够进行新的数据写入,所述“无效页面”由于写入了数据所以被数据更新所以不能进行新的数据的写入。

在图4中,各块由3个页面(称为页面p1~p3)构成,并且,假设使用逻辑电平0表示“有效页面”而使用逻辑电平1表示“无效页面”,示出了页面有效信息的一个例子。

例如,在图4中,由物理地址“0”表示的块b1所对应的页面有效信息为3位的[110]。也就是说,该页面有效信息的第一位为逻辑电平1,所述逻辑电平1表示块b1所包含的页面p1由于数据写入完毕而为“无效页面”。此外,该页面有效信息的第二位为逻辑电平1,所述逻辑电平1表示块b1所包含的页面p2由于数据写入完毕而为“无效页面”。进而,该页面有效信息的第三位为逻辑电平0,所述逻辑电平0表示块b1所包含的页面p3为未被数据更新的、“有效页面”。

图4所示的经过信息是指以下信息:按照每个索引号码表示在向与该索引号码对应的块的数据写入之后在其他的块中实施了的数据写入的次数。

再有,表示上述的地址变换表tb1和临时保管块管理表tb2的管理信息响应于电源接入而被从闪速存储器部24的管理区域ma读出,并被存储在ram23中。然后,存储器控制部25对在该ram23中存储的管理信息(tb1、tb2)实施以下的更新或补写等处理,在例如装置的系统关断那样的电源切断时或装置成为睡眠状态的定时或者一系列的写入工作结束的定时将最终得到的管理信息写入到闪速存储器部24的管理区域ma中。

存储器控制部25根据从主机装置10供给的读出命令和读出用的逻辑地址,以页面为单位从闪速存储器部24读出与该逻辑地址对应的数据,将其经由内部总线22向主机if部21供给。

此外,存储器控制部25根据从主机装置10供给的写入命令、写入用的数据和表示写入目的地的块的逻辑地址,将该写入用的数据写入到闪速存储器部24中。

即,存储器控制部25在表示写入目的地的块的逻辑地址未被记述在地址变换表tb1中的情况下将写入用的数据写入到闪速存储器部24的数据未写入的块(以下,称为空闲块)中。

另一方面,在这个该逻辑地址被记述在地址变换表tb1中的情况下,存储器控制部25通过执行以下那样的数据改写处理来进行数据的改写。

图5和图6是表示这样的数据改写处理的顺序的流程图。

在图5中,首先,存储器控制部25从地址变换表tb1导入表示写入目的地的块的逻辑地址所对应的索引号码,判定该索引号码是否为“0”(步骤s10)。再有,如前述那样,在索引号码为“0”的情况下,与该索引号码对应的物理地址表示不为数据的改写中的块。另一方面,在索引号码为“0”以外的情况下,与该索引号码对应的物理地址表示数据改写中的块。

当在步骤s10中判定为索引号码为“0”时,存储器控制部25使闪速存储器部24的空闲块之中的1个为临时保管块,向该临时保管块写入写入用的数据(步骤s11)。

在上述的步骤s11的执行后,存储器控制部25进行与临时保管块有关的管理信息(tb1、tb2)的更新(步骤s12)。

例如,在步骤s12中,存储器控制部25将地址变换表tb1中的、表示写入目的地的块的逻辑地址所对应的索引号码改写为“0”以外的号码。再有,“0”以外的号码是指例如对在目前在地址变换表tb1中记述的索引号码之中最大的号码加上“1”后的号码。进而,存储器控制部25将该改写后的索引号码、与上述的临时保管块对应的物理地址、页面有效信息、以及经过信息对应起来补写到临时保管块管理表tb2中。

再有,作为上述的页面有效信息,使在该临时保管块内写入了写入用的数据的页面所对应的位位为逻辑电平1,使其以外的页面所对应的各位位为逻辑电平0。关于经过信息,使在步骤s12中改写了的索引号码所对应的数值为“1”。进而,使在该步骤s12中改写了的索引号码以外的索引号码所对应的经过信息的数值增加“1”。与未使用的索引号码对应的经过信息的数值依旧为初始值“0”。

另一方面,当在步骤s10中判定为索引号码不为“0”时,存储器控制部25从临时保管块管理表tb2导入与该索引号码对应的物理地址。然后,存储器控制部25将写入用的数据写入到由与该索引号码对应的物理地址表示的块即临时保管块中(步骤s13)。

在这样的步骤s13的执行后,存储器控制部25进行与临时保管块有关的管理信息(tb2)的更新(步骤s14)。

例如,在步骤s14中,存储器控制部25更新临时保管块管理表tb2的上述索引号码所对应的页面有效信息。也就是说,将在表示页面有效信息的位组之中在步骤s13中写入了写入用的数据的页面所对应的位位改写为逻辑电平1。此外,关于经过信息,使在步骤s11中写入了写入用的数据的临时保管块所对应的索引号码所对应的数值为“1”。进而,使在上述步骤s11中写入了写入用的数据的临时保管块所对应的索引号码以外的索引号码所对应的经过信息的数值增加“1”。

像这样,存储器控制部25在上述的步骤s12和s14中向写入目的地的块和临时保管块这一对分配与该一对对应的索引号码。然后,存储器控制部25生成将该索引号码与表示临时保管块在闪速存储器部24内的位置的物理地址对应起来表示的管理表(tb1、tb2)。

在上述的步骤s14的执行后,存储器控制部25基于在临时保管块管理表tb2中记述的页面有效信息,判定在该临时保管块中是否完成了1个块的量(全部页面)的数据的写入(步骤s15)。也就是说,存储器控制部25判定由页面有效信息表示的全部位是否为逻辑电平1,在全部位为逻辑电平1的情况下,判定为完成了1个块的量(全部页面)的数据的写入。

在步骤s15中判定为针对临时保管块完成了1个块的量的写入的情况下,存储器控制部25进行用于确保空闲块的管理信息(tb1、tb2)更新(步骤s16)。

例如,在步骤s16中,存储器控制部25将在地址变换表tb1中表示上述的写入目的地的块的逻辑地址所对应的物理地址改写为临时保管块的物理地址,并且,将索引号码改写为“0”。此外,存储器控制部25将临时保管块管理表tb2中的改写前的索引号码所对应的物理地址即表示与临时保管块成对的写入目的地的块的物理地址改写为未使用的地址[0xffff]。进而,存储器控制部25将临时保管块管理表tb2中的、改写前的索引号码所对应的页面有效信息改写为使全部页面为数据写入有效。

即,存储器控制部25在临时保管块中完成了1个块的量(全部页面)的数据的写入的情况下,通过执行步骤s16,从而将该临时保管块设定为可外部接入的块来代替与该临时保管块成对的写入目的地的块。进而,存储器控制部25将与临时保管块成对的写入目的地的块设定为空闲块。

在上述的步骤s12或s16的执行后或在步骤s15中判定为针对临时保管块而未完成1个块的量的写入的情况下,存储器控制部25判定数据区域da所包含的空闲块的剩余数量是否为1个(步骤s17)。

当在步骤s17中判定为空闲块的剩余数量为1个时,存储器控制部25从临时保管块管理表tb2检索与示出最大的值的经过信息对应的索引号码(步骤s18)。再有,与示出最大的值的经过信息对应的索引号码的临时保管块为在临时保管块管理表tb2中记载的临时保管块之中从进行数据的改写的时间点起的经过时间最长的块。

接着,存储器控制部25从地址变换表tb1取得在步骤s18中检索出的索引号码所对应的物理地址。然后,存储器控制部25从由该物理地址表示的块即数据改写中的块读出未成为改写对象的未更新数据。总之,参照在步骤s18中检索出的索引号码所对应的临时保管块管理表的页面有效信息,从数据改写中的块读出相当于“有效页面”的页面(步骤s19)。

接着,存储器控制部25将上述的未更新数据即相当于“有效页面”的页面写入到由在临时保管块管理表tb2中与上述索引号码对应的物理地址表示的块即临时保管块中(步骤s20)。

接着,存储器控制部25将上述的临时保管块注册为可外部接入的块,并且,进行用于确保空闲块的管理信息(tb1、tb2)更新(步骤s21)。

例如,在步骤s21中,存储器控制部25将地址变换表tb1中的上述的索引号码所对应的物理地址改写为临时保管块的物理地址,并且,将该索引号码改写为“0”。此外,存储器控制部25将临时保管块管理表tb2中的、改写前的索引号码所对应的物理地址改写为未使用的地址[0xffff]。进而,存储器控制部25将临时保管块管理表tb2中的、改写前的索引号码所对应的页面有效信息初始化为表示全部页面有效的状态,将与该索引号码对应的经过信息初始化为“0”。进而,存储器控制部25使在临时保管块管理表tb2中写入了上述的未更新数据的块所对应的索引号码以外的各索引号码所对应的经过信息增加“1”。

即,存储器控制部25执行步骤s17~s21,由此,在空闲块的剩余数量为规定数量以下的情况下,将临时保管块设定为可外部接入的块,并且,将与临时保管块成对的写入目的地的块设定为空闲块。再有,说明了在上述流程图的步骤s17中空闲块的剩余数量为1的情况,但是,空闲块的剩余数量也可以任意设定。

在上述的步骤s21的执行后或在步骤s17中判定为空闲块的剩余数量不为1的情况下,存储器控制部25结束图5和图6所示的数据改写处理。

在以下,用具体例说明存储器控制部25通过执行图5和图6所示的数据改写处理来进行的数据的改写工作。

图7是表示数据改写稍前的阶段中的闪速存储器部24的状态的一个例子的图。

闪速存储器部24的数据区域da例如如图7所示那样由每一个具有3个页面p1~p3的7个块b1~b7构成。

在此,在图7所示的一个例子中,已经向闪速存储器部24的块b1的页面p1~p3写入了数据d11~d13。进而,已经向块b2的页面p1~p3写入了数据d21~d23,其他的块b3~b7成为空闲块。

因此,在图7所示那样的数据区域da的状态时,写入了数据d11~d13的块b1的物理地址“0”和逻辑地址[0x100]对应起来被记述到地址变换表tb1中。进而,如图7所示那样,写入了数据d21~d23的块b2的物理地址“1”和逻辑地址[0x200]对应起来被记述到地址变换表tb1中。

再有,在进行数据改写的稍前的阶段中,不存在数据改写中的块。因此,如图7所示那样,在地址变换表tb1中,与表示块b1和b2的物理地址“0”和“1”分别对应起来记述了索引号码“0”。进而,作为空闲块的块b3~b7在眼下不相当于临时保管块,因此,在该阶段中,在例如临时保管块管理表tb2中如图7所示那样没有信息的记述。

在以下,接着将从主机装置10进行使分别具有1个页面的量的数据容量的数据d11~d13和d21按照下述的顺序改写为数据d11a~d13a和d21a的接入的情况举出为例子,阶段性地说明闪速存储器部24的状态转变。

[将数据d11改写为d11a]

首先,主机装置10为了将数据d11改写为d11a而将表示写入目的地的块的逻辑地址[0x100]和作为写入用数据的数据d11a与写入命令一起向非易失性存储器20供给。

存储器控制部25从图7所示的地址变换表tb1取得表示写入目的地的块的逻辑地址[0x100]所对应的索引号码。该索引号码如图7所示那样为“0”,因此,存储器控制部25将空闲块b3~b7之中的b3作为临时保管块而向该临时保管块的页面p1如图8所示那样写入写入用的数据d11a(s11)。

此时,存储器控制部25如图8所示那样将在地址变换表tb1中记述的逻辑地址[0x100]所对应的索引号码改写为“1”(s12)。

此外,存储器控制部25将表示临时保管块即块b3的物理地址“2”、页面有效信息和经过信息与该索引号码“1”对应起来如图8所示那样记述到临时保管块管理表tb2中(s12)。再有,作为该页面有效信息而记述了表示只有页面p1~p3之中的p1为“无效页面”的[100],作为经过信息而记述了“1”。

[将数据d12改写为d12a]

接着,主机装置10为了将数据d12改写为d12a而将表示写入目的地的块的逻辑地址[0x100]和作为写入用的数据的数据d12a与写入命令一起向非易失性存储器20供给。

存储器控制部25从图8所示的地址变换表tb1取得表示写入目的地的块的逻辑地址[0x100]所对应的索引号码。该索引号码如图8所示那样为“1”,因此,存储器控制部25从临时保管块管理表tb2取得与索引号码“1”对应的物理地址“2”和页面有效信息[100]。然后,存储器控制部25如图9所示那样将写入用的数据d12a写入到作为由该物理地址“2”表示的临时保管块的块b3的有效页面即页面p2(s13)。

此时,存储器控制部25如图9所示那样将在临时保管块管理表tb2中记述的索引号码“1”所对应的页面有效信息改写为表示页面p1~p3之中的p1和p2为“无效页面”的[110],作为经过信息而再次记述了“1”(s14)。

[将数据d21改写为d21a]

接着,主机装置10为了将数据d21改写为d21a而将表示写入目的地的块的逻辑地址[0x200]和作为写入用的数据的数据d21a与写入命令一起向非易失性存储器20供给。

存储器控制部25从图9所示的地址变换表tb1取得表示写入目的地的块的逻辑地址[0x200]所对应的索引号码。该索引号码如图9所示那样为“0”,因此,存储器控制部25将空闲块b4~b7之中的b4作为临时保管块而向该临时保管块的页面p1如图10所示那样写入写入用的数据d21a(s11)。

此外,存储器控制部25如图10所示那样将在地址变换表tb1中记述的逻辑地址[0x200]所对应的索引号码改写为“2”(s12)。

进而,存储器控制部25将表示临时保管块即块b4的物理地址“3”、页面有效信息和经过信息与该索引号码“2”对应起来如图10所示那样记述到临时保管块管理表tb2中(s12)。再有,作为该页面有效信息而记述了表示只有页面p1~p3之中的p1为“无效页面”的[100],作为经过信息而记述了“1”。此外,由于向索引号码“2”所对应的块b4的数据写入处理,存储器控制部25将在临时保管块管理表tb2中记述的索引号码“1”所对应的经过信息从“1”增加为“2”。

[将数据d13改写为d13a]

接着,主机装置10为了将数据d13改写为d13a而将表示写入目的地的块的逻辑地址[0x100]和作为写入用的数据的数据d13a与写入命令一起向非易失性存储器20供给。

存储器控制部25从图10所示的地址变换表tb1取得表示写入目的地的块的逻辑地址[0x100]所对应的索引号码。该索引号码如图10所示那样为“1”,因此,存储器控制部25从临时保管块管理表tb2取得与索引号码“1”对应的物理地址“2”和页面有效信息[110]。然后,存储器控制部25如图11所示那样将写入用的数据d13a写入到作为由该物理地址“2”表示的临时保管块的块b3的有效页面即页面p3(s13)。

此时,存储器控制部25如图11所示那样将在临时保管块管理表tb2中记述的索引号码“1”所对应的页面有效信息改写为页面p1~p3的全部表示“无效页面”的[111](s14)。此外,由于向索引号码“1”所对应的块b3的数据写入处理,存储器控制部25将在临时保管块管理表tb2中记述的索引号码“2”所对应的经过信息从“1”增加为“2”,作为与索引号码“1”对应的经过信息而记述“1”。

利用上述的一系列的处理,在临时保管块管理表tb2中记述的索引号码“1”所对应的页面有效信息为全部页面表示“无效页面”的[111]。由此,对于作为临时保管块的块b3,将成为数据改写对象的、块b1的内容(数据d11~d13)全部改写的、管理尺寸的量的数据d11a~d13a的写入完成。

因此,接着,存储器控制部25将该临时保管块作为可外部接入的块注册到地址变换表tb1中,并且,进行用于将写入了改写对象数据的块b1确保为空闲块的管理信息更新(s16)。

即,存储器控制部25如图12所示那样将地址变换表tb1中的、表示写入目的地的块b1的逻辑地址[0x100]所对应的物理地址改写为表示作为临时保管块的块b3的“2”。此外,伴随着这样的物理地址的改写,存储器控制部25将与逻辑地址[0x100]对应的索引号码改写为“0”。

进而,存储器控制部25为了使临时保管块管理表tb2中的索引号码“1”为不可使用而如图12所示那样将与该索引号码“1”对应的物理地址改写为未使用的[0xffff]。此外,伴随着这样的物理地址的改写,存储器控制部25将临时保管块管理表tb2中的页面有效信息改写为初始值[000],将经过信息改写为初始值“0”。

因此,如图12所示那样,与逻辑地址[0x100]对应的块被变更为物理地址“2”的块b2,物理地址“0”的块b1被设定为空闲块。

再有,在数据区域da的空闲块的剩余数量为规定数量例如“1”以下的情况下也实施上述那样的、用于将临时保管块注册为可外部接入的块并且确保空闲块的、管理信息的更新处理(s16)。

例如,如图13所示那样,当在数据区域da内残存2个块b6和b7时将块b6用作临时保管块时,存储器控制部25进行以下的处理。

再有,在图13所示的一个例子中,将块b1~b3作为能够进行从主机装置10的接入的块注册到地址变换表tb1中。此时,在块b1~b3之中,b1和b2为数据改写中的块,写入到块b1中的数据d11和d12成为数据改写对象。由此,如图13所示那样,针对数据d11的改写后的数据d11a被写入到作为临时保管块的块b4的页面p1,针对数据d12的改写后的数据d12a被写入到块b4的页面p2。进而,在图13所示的一个例子中,写入到块b2中的数据d21成为数据改写对象,针对该数据d21的改写后的数据d21a如图13所示那样被写入到作为临时保管块的块b5的页面p1。

因此,在地址变换表tb1中,与表示块b1的物理地址“0”对应起来记述了索引号码“1”,与表示块b2的物理地址“1”对应起来记述了索引号码“2”。再有,在该阶段中,块b3不为数据改写中的块,因此,与表示该块b3的物理地址“2”对应起来记述了索引号码“0”。

此外,如图13所示那样,在临时保管块管理表tb2中,与块b1所对应的索引号码“1”对应起来记述了表示块b4的物理地址“3”、页面有效信息[110]。再有,在该一个例子中,假设与索引号码“1”对应的经过信息表示“1”。

进而,在临时保管块管理表tb2中,与块b2所对应的索引号码“2”对应起来记述了表示块b5的物理地址“4”、页面有效信息[100]。再有,在该一个例子中,假设与索引号码“2”对应的经过信息表示“3”。此外,在图13所示的一个例子中,假设将物理地址[0xffff]、页面有效信息[000]和表示“0”的经过信息与接下来使用的索引号码“3”对应起来记述到临时保管块管理表tb2中。

在此,主机装置10为了对图13所示的写入到块b3中的数据d31进行改写,将写入命令、表示块b3的逻辑地址[0x300]和写入用的数据d31a向非易失性存储器20供给。

于是,存储器控制部25从图13所示的地址变换表tb1取得表示写入目的地的块的逻辑地址[0x300]所对应的索引号码“0”。由此,存储器控制部25将空闲块b6作为临时保管块而向该临时保管块的页面p1如图14所示那样写入写入用的数据d31a(s11)。

此外,存储器控制部25如图14所示那样将在地址变换表tb1中记述的逻辑地址[0x300]所对应的索引号码从“0”改写为“3”(s12)。

进而,存储器控制部25如图14所示那样将临时保管块管理表tb2中的索引号码“3”所对应的物理地址从[0xffff]改写为“5”,将页面有效信息从[000]改写为[100](s12)。此外,由于向块b6的数据写入,存储器控制部25如图14所示那样将与索引号码“1”对应的经过信息从“1”增加为“2”,将与索引号码“2”对应的经过信息从“3”增加为“4”(s12)。

如图14所示那样,将块b6用作临时保管块,由此,数据区域da内的空闲块为剩余1个即仅为块b7。

因此,存储器控制部25对数据区域da内的空闲块的剩余数量是否为1个进行判定(s17),在空闲块为剩余1个的情况下,进行以下的处理。

即,首先,存储器控制部25从图14所示的临时保管块管理表tb2检索在与各索引号码对应的经过信息之中示出最大的值“4”的经过信息所对应的索引号码“2”(s18)。接着,存储器控制部25从图14所示的地址变换表tb1得到与该索引号码“2”对应的物理地址“1”(s19)。然后,从由该物理地址“1”表示的数据改写中的块b2,利用检索出的索引号码所对应的临时保管块管理表的页面有效信息,读出相当于“有效页面”的、即未成为数据改写对象的未更新的数据d22和d23(s19)。

接着,存储器控制部25从图14所示的临时保管块管理表tb2取得与上述的索引号码“2”对应的物理地址“4”(s20)。然后,存储器控制部25如图15所示那样将上述的未更新的数据d22和d23写入到由该物理地址“4”表示的临时保管块b5的页面p2和p3(s20)。

接着,存储器控制部25将上述的临时保管块b5注册为可外部接入的块,并且,进行用于使数据改写对象的块b2为空闲块的管理信息的更新(s21)。

也就是说,存储器控制部25将在地址变换表tb1中图14所示的索引号码“2”所对应的物理地址“1”如图15所示那样改写为“4”,并且,将该索引号码“2”如图15所示那样改写为“0”。

此外,存储器控制部25将与索引号码“2”对应的物理地址如图15所示那样改写为未使用的地址[0xffff]。此外,存储器控制部25如图15所示那样将临时保管块管理表tb2中的索引号码“2”所对应的页面有效信息初始化为[000],将经过信息初始化为“0”。

进而,伴随着向上述的临时保管块b5的数据写入,存储器控制部25如图15所示那样将与索引号码“1”对应的经过信息从“2”增加为“3”,将与索引号码“3”对应的经过信息从“1”增加为“2”。因此,如图15所示那样,与逻辑地址[0x200]对应的块被变更为物理地址“4”的块b5,块b2被设定为空闲块。

以上,如详述那样,在非易失性存储器200中,存储器控制部25执行以下的数据写入步骤和管理步骤,由此,进行数据的改写。

即,在数据写入步骤(s11、s13)中接收写入用数据和表示写入目的地的块的逻辑地址且写入目的地的块为数据写入完毕的情况下,将在多个块之中数据未写入的空闲块作为临时保管块,将写入用数据写入到该临时保管块中。在管理步骤(s12、s14)中,按照写入目的地的块和临时保管块这每一对分配与该一对对应的索引号码,生成将索引号码与表示临时保管块在非易失性存储器内的位置的物理地址对应起来表示的管理表(tb1、tb2)。再有,在数据写入步骤中,从该管理表取得分配给写入目的地的块的、索引号码所对应的物理地址,将写入用数据写入到由该物理地址表示的临时保管块中。

再有,也可以利用作为在存储器控制部25中设置的硬件的、写入控制部进行上述的数据写入步骤(s11、s13)的工作。此外,也可以利用作为在存储器控制部25中设置的硬件的、管理控制部进行管理步骤(s12、s14、s16、s21)的工作。

像这样,在非易失性存储器200中对写入到由逻辑地址指定的写入目的地的块中的数据进行改写时,将数据未写入的空闲块作为临时保管块,将写入用数据写入到该临时保管块中。进而,向写入目的地的块和临时保管块这一对分配与该一对对应的索引号码,生成将该索引号码与临时保管块的物理地址对应起来表示的管理表。

由此,即使在只有块内的一部分的数据片被改写的情况下,也响应于来自外部的读出接入来参照该管理表的索引号码,由此,能够读出改写后的数据片。

也就是说,即使不进行将写入到数据写入目的地的块中的、上述数据片以外的数据向临时保管块复制并且将该临时保管块设定为可外部接入的状态、这样的一系列的处理,也能够读出改写后的数据片。

因此,根据非易失性存储器200中的数据的改写方法,与需要上述那样的复制处理和向可外部接入的状态的设定处理的、以往的数据改写方法相比,能够缩短数据的改写时间。

此外,根据非易失性存储器200,在例如1个块为12mb的tlc(triplelevelcell,三层单元)方式下写入单位(页面)为4mb的情况下,作为分别以4mb将1个块3分割后的模拟slc(singlelevelcell,单层单元),能够以页面为单位进行管理。也就是说,在1次的量的写入数据容量比1个块的全部数据容量小的情况下,能够模拟地以slc方式管理数据改写中的块。

可是,根据该数据的改写方法,在多个块成为数据的改写对象的情况下多个临时保管块也成为管理对象。此时,在本发明中,能够利用索引号码从多个临时保管块之中取得表示成为接入对象的临时保管块的物理地址。因此,针对多个临时保管块1个1个地判定是否为接入对象,由此,与对相当于接入对象的临时保管块进行探索的情况相比,能够迅速地取得表示接入对象的临时保管块的物理地址。

再有,在上述实施例中,将空闲块的剩余数量为1个的情况作为条件,实施了将临时保管块注册为可外部接入的块并且确保空闲块的管理处理(s18~s21)。可是,实施这样的管理处理的条件并不限定于空闲块的剩余数量为1个的情况。总之,只要将空闲块的剩余数量为规定数量以下的情况作为条件来实施上述的管理处理(s18~s21)即可。

此外,在上述实施例中,在将临时保管块注册为可外部接入的块时,假设由经过信息表示选出成为该注册对象的临时保管块的条件的、其他的临时保管块中的数据写入的次数为最大。可是,按照每个临时保管块,测量从对该临时保管块进行数据写入到进行下一次数据写入的经过时间,将该经过时间为最大的临时保管块注册为可外部接入的块也可。

此外,在上述实施例中,在图5所示的步骤s15中,为了判定1个块的量的数据的写入是否完成,存储器控制部25判定由页面有效信息表示的全部位是否为逻辑电平1。可是,在步骤s15中,也可以判定写入到临时保管块中的写入用数据的蓄积容量是否与临时保管块的存储容量相等。

附图标记的说明

10主机装置

20非易失性存储器

24闪速存储器部

25存储器控制部。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1