存储器控制设备、非易失性存储器及存储器控制方法
【专利摘要】本发明提供存储器控制设备、非易失性存储器及存储器控制方法一种存储控制设备,该存储控制设备包括写入控制单元,按顺序地指定多个存储单元中作为数据写入单元的存储块;写入处理单元,将写入数据写入指定的存储块中;检验单元,从写入了写入数据的存储块中读出读取数据,并且针对多个存储单元中的每一个检验读取数据是否与写入数据一致;重试阻止单元,阻止对多个存储单元中读取数据与写入数据一致的存储单元再次执行写入写入数据的重试处理;以及重试控制单元,当写入所有写入数据的多个存储单元中的任一存储单元中读取数据与写入数据不一致时,指定多个存储块中的至少一些存储块,并且同时执行重试处理。
【专利说明】存储器控制设备、非易失性存储器及存储器控制方法
【技术领域】
[0001]本发明涉及存储器控制设备、非易失性存储器和存储器控制方法。具体地,本发明涉及存储器控制设备、非易失性存储器和用于检验重写是否成功的存储器控制方法。
【背景技术】
[0002]在最近的信息处理系统中,存在非易失性存储器(NVM)用作辅助存储设备或存储器的情况。非易失性存储器粗略地划分为支持利用利用大尺寸作为单元进行数据存取的闪存和能够以小单元执行高速随机存取的非易失性随机存储存储器(NVRAM)。这里,闪存的代表实例是NAND闪存。
[0003]另一方面,非易失性随机存取存储器的实例是电阻式RAM (ReRAM)等等。此外,相位变化RAM (PCRAM)、磁阻RAM (MRAM)等等是众所周知的。特别地,ReRAM能够利用具有大约几纳秒量级的较短持续时间的脉冲执行重写。为此,ReRAM作为能够执行高速操作的非易失性存储器使公众的关注。
[0004]在这种非易失性存储器的重写处理中,一般地,执行将数据重写到存储器单元中的写入过程,然后执行检验在重写时是否发生错误的检验过程。然后,当已经发生错误时,执行再次重写的重试处理。在写入处理和重试处理中,随着要同时重写的位数增加,重写所需电流也增加。例如,在NOR (负0R)闪存中,每个位的重写电流是大约100微安(μ A)。为此,当同时重写8个位时,需要大约800 μ A的电流。进一步,写入处理和重试处理的执行时间对应于要同时写入的位数。例如,当同时重写8个位时的重写速度为大约I微秒(μ s)时,256个位的写入处理和重试处理中的每一个需要大约8秒钟。
[0005]重写时可以提供的电流量通常受到电源的电流通路和容量中所允许的电流的限制。关于这点,作为对互连的连接至进行研究的结果,已经提出其中确保具有少量电压降的电流通路以增加可供应电流的非易失性存储器(例如,参考K.Aratani等人的“A NovelResistance Memory with High Scalability and Nanosecond Switching,,, TechnicalDigest IEDM2007, pp783-786)0
【发明内容】
[0006]然而,以上所述的相关技术存在的问题在于,很难提高非易失性存储器的重写处理的吞吐量。当电流通路中允许的电流增加时,限制可供应电流量,除非电源容量增力口。因此,存在的问题在于,很难将重写位的数量增加为等于或大于由电源的一次容量限制的位数量并且很难提高吞吐量。
[0007]期望提高非易失性存储器的重写处理的吞吐量。
[0008]根据本发明的第一实施例,提供存储器控制设备和存储器控制设备的控制方法,该控制设备包括写入控制单元,按顺序地指定多个存储单元中作为数据写入单元的存储块;写入处理单元,将写入数据写入指定的存储块中;检验单元,从写入了写入数据的存储块中读出读取数据,并且针对多个存储单元中的每一个检验读取数据是否与写入数据一致;重试阻止单元,阻止对多个存储单元中读取数据与写入数据一致的存储单元再次执行写入写入数据的重试处理;以及重试控制单元,当写入所有写入数据的多个存储单元中的任一存储单元中读取数据与写入数据不一致时,指定多个存储块中的至少一些存储块,并且同时执行重试处理。因此,当多个存储单元中的一个存储单元中读取数据与写入数据不一致时,指定多个存储块中的至少一些存储块,并且同时执行重试处理。
[0009]进一步,根据第一实施例,检验单元可以检验读取数据是否与写入数据一致,并且将读取数据与写入数据不一致的存储单元的数量进行计数以作为故障位数,以及当故障位数大于1且故障位数小于预定阈值时,重试控制单元指定多个存储块中的至少一些存储块并且同时执行重试处理。因此,获得其中当故障位数大于1且故障位数小于预定阈值时指定多个存储块中的至少一些存储块并同时执行重试处理的效果。
[0010]进一步,根据第一实施例,当故障位数不小于预定阈值时,重试控制单元可以按顺序地为每个存储块指定多个存储单元并执行重试处理。因此,获得其中当故障位数不小于预定阈值时为每个存储块顺序地指定多个存储单元并执行重试处理的效果。
[0011]进一步,根据第一实施例,预定阈值可以是不超过允许写入处理单元同时写入写入数据的存储单元的数量的值。因此,获得其中预定阈值不超过允许写入处理单元同时写入写入数据的存储单元的数量的效果。
[0012]进一步,根据第一实施例,写入处理单元可以向指定的存储块中的每个存储单元提供写入数据并写入写入数据。重试阻止单元可以阻止向读取数据与写入数据一致的存储单元提供数据并阻止重试处理的执行。因此,获得其中阻止了向读取数据与写入数据不一致的存储单元提供数据并且阻止重试处理的执行的效果。
[0013]进一步,根据第一实施例,当写入所有写入数据的多个存储单元的任一存储单元中读取数据与写入数据不一致时,重试控制单元可以指定所有多个存储块并同时执行重试处理。因此,获得了当多个存储单元的一个存储单元中读取数据与写入数据不一致时,指定所有存储块并同时执行重试处理的效果。
[0014]进一步,根据本发明的第二实施例,提供一种非易失性存储器,其包括多个存储单元;写入控制单元,按顺序地指定多个存储单元中作为数据写入单元的存储块;写入处理单元,将写入数据写入指定的存储块中;检验单元,从写入了写入数据的存储块中读出读取数据,并且针对多个存储单元中的每一个检验读取数据是否与写入数据一致;重试阻止单元,阻止对多个存储单元中读取数据与写入数据不一致的存储单元再次执行写入写入数据的重试处理;以及重试控制单元,当写入所有写入数据的多个存储单元的任一存储单元中读取数据与写入数据不一致时,指定多个存储块中的至少一些存储块,并且同时执行重试处理。因此,当多个存储单元中的一个存储单元中读取数据与写入数据不一致时,指定多个存储块中的至少一些存储块,并同时执行重试处理。
[0015]根据以上所述本公开的实施例,具有提高非易失性存储器的重写处理的吞吐量的很好效果。
【专利附图】
【附图说明】
[0016]图1是示出根据第一实施例的存储系统的示例性结构的方框图;
[0017]图2是示出根据第一实施例的非易失性存储器的示例性结构的方框图;[0018]图3是示出根据第一实施例的存储单元阵列的示例性结构的方框图;
[0019]图4是示出根据第一实施例的存储块的示例性结构的电路图;
[0020]图5是示出根据第一实施例的列驱动器的示例性结构的方框图;
[0021]图6是示出根据第一实施例的重试阻止单元的示例性结构的方框图;
[0022]图7是示出根据第一实施例的检验单元的示例性结构的方框图;
[0023]图8是示出根据第一实施例的写入驱动单元的示例性结构的方框图;
[0024]图9是示出根据第一实施例的写入驱动块的示例性结构的方框图;
[0025]图10是示出根据第一实施例的非易失性存储器的示例性功能结构的方框图;
[0026]图11是示出根据第一实施例的在重置时施加于存储单元的电压的实例示图;
[0027]图12是示出根据第一实施例的在设定时施加于存储单元的电压的实例的示图;
[0028]图13是示出根据第一实施例的写入处理的实例的流程图;
[0029]图14是示出根据第一实施例的重置处理的实例的流程图;
[0030]图15是示出根据第一实施例的设定处理的实例的流程图;
[0031]图16是示出根据第一实施例的在重置时非易失性存储器的操作的实例的时序图;
[0032]图17是示出根据第一实施例的在设定时非易失性存储器的操作的实例的时序图;
[0033]图18是示出根据第一实施例的变形例的在重置时非易失性存储器的操作的实例的时序图;
[0034]图19是示出根据第二实施例的列驱动器的示例性结构的方框图;
[0035]图20是示出根据第二实施例的检验单元的示例性结构的方框图;
[0036]图21是示出根据第二实施例的重置处理的实例的流程图;和
[0037]图22是示出根据第二实施例的设定处理的实例的流程图。
【具体实施方式】
[0038]下文中,将参考附图详细地描述本发明的优选实施例。注意,在本说明书和附图中,具有基本相同功能和结构的结构元件用相同的参考数字表示,并且省略这些结构元件的重复说明。
[0039]下文中,将描述用于执行本发明的实施方式(下文中称为“实施例”)。将按照以下顺序进行描述。
[0040]1.第一实施例(其中在所有存储块中同时执行重试处理的实例)
[0041]2.第二实施例(其中当故障位数小于阈值时在所有存储块中同时执行重试处理的实例)
[0042]〈1.第一实施例>
[0043][存储系统的示例性结构]
[0044]图1是示出根据实施例的存储系统的示例性结构的方框图。存储系统包括主机计算机100、存储器控制器150和非易失性存储器200。
[0045]主机计算机100总体上控制存储系统。具体地,主机计算机100生成命令、逻辑地址和数据,并且通过信号线109提供命令、逻辑地址和数据至存储器控制器150。进一步,主机计算机100从存储器控制器150接收数据和状态。这里,命令用于控制存储系统,命令的实例包括用于指示数据写入处理的写入命令和用于指示数据读取处理的读取命令。逻辑地址是指由主机计算机100定义的地址空间中的地址。数据是指要写入非易失性存储器200的写入数据或从非易失性存储器200中读取的读取数据。状态是用于通知命令执行结果或存储系统的状态的信息。[0046]存储器控制器150控制非易失性存储器200。存储器控制器150将来自主机计算机100的逻辑地址转变为物理地址,并通过信号线156提供该物理地址给非易失性存储器200。物理地址是分配给非易失性存储器200中的存储单元的地址。
[0047]存储器控制器150通过信号线157从非易失性存储器200接收状态,根据需要更新状态并将更新的状态提供给主机计算机100。
[0048]存储器控制器150分析从主机计算机100接收到的命令,并通过信号线158提供命令给非易失性存储器200。此外,存储器控制器150生成关于从主机计算机100接收的写入数据的错误校正码(ECC)。进一步,存储器控制器150通过信号线159将包括ECC的写入数据提供给非易失性存储器200。进一步,存储器控制器150通过信号线159从非易失性存储器200接收包括ECC的读取数据,基于ECC执行读取数据中的错误的检测和校正,并且将得到的数据提供给主机计算机100。
[0049]非易失性存储器200根据存储器控制器150的控制存储数据。非易失性存储器200从存储器控制器150接收命令、地址和数据。当命令是写入命令时,非易失性存储器200在指定地址写入数据,而当命令是读取命令时,非易失性存储器200从指定地址对读取数据进行读取。然后,非易失性存储器200生成状态并且将所生成的状态提供给存储器控制器150。进一步,当读取数据被读取时,非易失性存储器200将读取数据提供给存储器控制器150。
[0050][非易失性存储器的示例性结构]
[0051]图2是示出根据第一实施例的非易失性存储器200的示例性结构的方框图。非易失性存储器200包括存储控制单元400和存储单元阵列260。存储控制单元400包括重写控制单元210、地址电路220、数据输入/输出电路230、行驱动器240、板极(plate)驱动器250、行解码器270、列解码器280和列驱动器300。存储控制单元400是根据本公开实施例的存储控制设备的实例。
[0052]重写控制单元210从存储器控制器150接收命令,并且根据命令控制数据输入/输出电路230、行驱动器240、板极驱动器250和列驱动器300。当命令是读取命令时,重写控制单元210向板极驱动器250、行驱动器240和列驱动器300提供用以指示对读取数据进行读取的控制信号。然后,重写控制单元210从列驱动器300接收表示读取数据的读取是否已经正常终止的通知。当读取数据的读取已经正常终止时,重写控制单元210向存储器控制器150提供用于给出将读取数据输出到数据输入/输出电路230的指令的控制信号。
[0053]然而,当命令是写入命令时,重写控制单元210向板极驱动器250、行驱动器240和列驱动器300提供用于提供重置指令的控制信号。重写控制单元210提供使能信号给列驱动器300。使能信号将在稍后进行描述。
[0054]这里,重置是将写入存储单元的位“O”重写为“ I ”的处理。该重置还被称为“编程[0055]重写控制单元210从列驱动器300接收重置时的检验结果。这里,重置时的检验结果是由列驱动器300作出的检验结果,其表示是否通过重置在重置目标的所有存储单元中重写“1”。
[0056]当在重置目标的任一存储单元中尚未重写“1”时,重写控制单元210再次向行驱动器24、板极驱动器250和列驱动器300提供用于给出重置指令的控制信号。然而,当在重置目标的所有存储单元中已经重写“ 1”时,重写控制单元210向板极驱动器250、行驱动器240和列驱动器300提供用于给出设定指令的控制信号。
[0057]这里,设定是将写入存储单元的位“1”重写为“0”的处理。该设定还称为“擦除”。
[0058]然后,重写控制单元210从列驱动器300接收设定时的检验结果。这里,设定时的检验结果是由列驱动器300作出的检验结果,其表示是否通过设定已经在设定目标的所有存储单元中重写“0”。
[0059]当在设定目标的任一存储单元中还未重写“0”中时,重写控制单元210再次向行驱动器240、板极驱动器250和列驱动器300提供用于给出设定指令的控制信号。然而,当在重置目标的所有存储单元中已经重写“ 1”时,重写控制单元210确定写入数据的写入已经正常终止,并且向数据输入/输出电路230提供用于给出将所保持的写入数据擦除的指令的控制信号。进一步,重写控制单元210按照重置指令和设定指令顺序提供指令,但是可以按照设定指令和重置指令顺序提供指令。
[0060]进一步,重写控制单元210生成表示命令执行结果的状态,并提供该状态给存储器控制器150。
[0061 ] 地址电路220将从存储器控制器150接收的地址划分成行地址和列地址。行地址指定存储单元阵列260中的存取目的地的行。列地址指定存储单元阵列260中的存取目的地的列。
[0062]数据输入/输出电路230根据重写控制单元210的控制,保持写入数据或读取数据。数据输入/输出电路230从列驱动器300接收读取数据,并且保持该读取数据。然后,当重写控制单元210提供读取数据输出指令时,数据输入/输出电路230输出读取数据到存储器控制器150,并且擦除该读取数据。进一步,数据输入/输出电路230从存储器控制器150接收写入数据,并且保持该写入数据。然后,数据输入/输出电路230根据重写控制单元210的控制擦除所保持的写入数据。
[0063]板极驱动器250根据重写控制单元210的控制施加板极电压。板极电压是施加于存储单元阵列260中的板线PL的电压,并且向列驱动器300施加该电压以对存储单元阵列260进行存取。存储单元阵列260中的板线PL的布置将在稍后描述。在重置时,板极驱动器250施加不同于设定时的板极电压的板极电压。例如,板极驱动器250提供低于重置时位线BL的电压的板极电压,并且提供高于位线BL的电压的板极电压。位线BL是在存储单元阵列260中布置在列方向上的信号线。
[0064]行解码器270分析从地址电路220接收的行地址,并选择对应于行地址的字线WL。字线WL是存储单元阵列260中布置在行方向上的信号线。
[0065]行驱动器240根据重写控制单元210的控制,将电压施加于字线WL。当提供用于进行读取、设定、重置中任一个的指令时,在预定时间段期间,行驱动器240将高电平电压施加于由行解码器270选择的字线WL,并将低电平电压施加于未选择的字线WL。[0066]具有作为施加于字线WL的写入电压的峰值的信号也被称为写入脉冲。行驱动器240控制写入脉冲的施加时间和持续时间以及正施加的电压。进一步,基于写入脉冲的单元驱动力可与每次写入时相同或可以不同。进一步,根据存储单元的类型,控制单元驱动力的技术是合适的或不合适的。例如,当存储单元具有可变电阻式类型时,存在控制施加电压的方法、使脉冲的持续时间是恒定的并控制脉冲数量的方法、以及控制脉冲的持续时间的方法作为基于写入脉冲改变单元驱动力的方法。行驱动器240可以基于以上所述的方法的组合使用控制方法。
[0067]列解码器280分析从地址电路220接收的列地址,并且选择对应于列地址的位线BL。
[0068]列驱动器300根据重写控制单元210的控制,将电压施加于位线BL。当重写控制单元210提供读取指令时,列驱动器300将高电平电压施加于由列解码器280选择的位线BL,并且将低电平电压施加于未选择的位线BL。所选位线BL的存取目的地的存储单元是存取目的地的存储单元。然后,列驱动器300从作为存取目的地的存储单元中读取数据,并且通过信号线239将该数据作为读取数据提供至数据输入/输出电路230。
[0069]当重写控制单元210提供重置指令时,列驱动器300从作为存取目的地的存储单元中读取数据作为预读取数据。列驱动器300从数据输入/输出电路230中读取写入数据,并且以位为单位比较该写入数据和预读取数据。列驱动器300将对应于其中写入数据是“1”和预读取数据是“0”的位的存储单元设定作为重置目标。列驱动器300通过位线BL对作为重置目标的存储单元进行重置。在重置之后,列驱动器300检验是否已经对作为重置目标的所有存储单元进行了重置,并且将该检验结果提供给重写控制单元210。
[0070]当重写控制单元210提供设定指令时,列驱动器300以位为单位比较该写入数据和预读取数据。列驱动器300将其中写入数据是“0”和预读取数据是“1”的位的存储单元设置为设定目标。列驱动器300通过位线BL设定作为设定目标的存储单元。在设定之后,列驱动器300检验是否将作为设定目标的所有存储单元进行了设定,并且将该检验结果提供给重写控制单元210。
[0071]存储单元阵列260包括以矩阵形式布置的多个存储单元。例如,利用可变电阻式元件的ReRAM用作每个存储单元。可替换地,代替ReRAM,使用非易失性存储元件作为存储单元。例如,可以使用浮置栅极(FG)类型或M0N0S (金属氧化物氮氧化物硅)类型的NAND闪存元件。
[0072][存储单元阵列的示例性结构]
[0073]图3是示出根据第一实施例的存储单元阵列260的示例性结构的方框图。存储单元阵列260包括多个存储块261。存储块261表示通过将存储单元阵列260划分成数据写入单元获得的每个区域。根据在数据重写时可由存储控制单元400提供给存储单元阵列260的电流量判定写入单元。当对应于18位最大值的重写电流可以一次地提供给存储控制单元400时,重写单元是18位或更小(例如,16位)。
[0074]例如,当以矩阵形式布置的存储单元的行数是16时,列的数量是256和写入单元是16位,256列划分成16个,设置存储块#1到#16。作为划分的结果,16X16存储单元布置在存储块#1到#16的每个存储块中。板线PL、字线WL和位线BL都连接至存储单元。由于每个存储块#1到#16的存储单元的行数和列数都是16,所以在每个存储块#1到#16中布置16个字线WL和16个位线BL。块划分是虚构的,仅仅意味着由列驱动器300指定不同的存储单元地址。为此,块划分可以根据要输入列驱动器300的地址改变成任何其他方面(块大小和块数量)。
[0075][存储块的示例性结构]
[0076]图4是示出根据第一实施例的存储块261的示例性结构的电路图。存储块261包括以16X 16矩阵形式布置的16X 16个存储单元262。每个存储单元262包括存取晶体管263和可变电阻器264。
[0077]存取晶体管263是控制列驱动器300对存储单元262的存取的晶体管。存取晶体管263形成在半导体基板上,并且包括构成源极电极和漏极电极的两个杂质区域。栅极电极是由位于基板区域上方的杂质区域的多晶硅等形成的,其中栅极绝缘膜介于杂质区域与基板区域之间。栅极电极连接至字线WL,源极电极和漏极电极中的一个连接至位线BL,而另一个电极连接至可变电阻器264。当高电平电压施加于对应于行地址的字线WL时,连接至字线的存取晶体管263处于导通状态。然后,列驱动器300可以通过处于导通状态的存取晶体管263存取可变电阻器264。
[0078]可变电阻器264是其电阻值根据分别施加于板线PL和位线BL的电压变化的电阻器。可变电阻器264包括下部电极和上部电极以及插入在电极之间的绝缘膜和导体膜。下部电极连接至存取晶体管263,而上部电极连接至板线PL。
[0079]对于绝缘膜的材料,使用诸如SiN、Si02、或Gd203的绝缘材料。导体膜的材料的实例包括含有从铜、银和铝中选择的一个或多个金属元素的金属膜、合金膜(例如,CuTe合金膜)和金属化合物膜。除了铜、银、和铝之外,可以使用具有容易被离子化的特性的金属元素。导体膜被形成为“导电离子供应膜”。
[0080]例如,当板线PL的电压增加到高于位线BL的电压预定电压以上时,包括在可变电阻器264的导体膜中的铜、银、或铝被离子化,并且具有被牵引至阴极一侧的性质。然后,金属的导电离子被喷射到绝缘膜中。为此,绝缘膜的绝缘性质降低,因此具有导电性。如上所述,其中电阻值较低的状态转变到例如其中保持“ I ”值的状态。
[0081]另一方面,当板线PL的电压增加到高于板线PL的电压一预定电压以上时,喷射到绝缘体膜中的导电离子返回到导体膜,因此产生其中电阻值较高的状态。如上所述,其中电阻值较高的状态转变到例如其中保持“O”值的状态。进一步,其中电阻值较低的状态可以定义为其中保持“O”值的状态,和其中电阻值较高的状态可以定义为其中保持“ I ”值的状态。
[0082][列驱动器的示例性结构]
[0083]图5是示出根据第一实施例的列驱动器300的示例性结构的方框图。列驱动器300包括重试阻止单元310、感测放大器单元320、驱动器控制单元330、检验单元340和写入驱动单元350。
[0084]感测放大器单元320将连接至作为存取目的地的存储单元的位线BL的电压放大。感测放大器单元320检测和放大通过重试阻止单元310的位线BL的电压。感测放大器单元320通过信号线329将表示经放大的电压的数据作为读取数据提供给驱动器控制单元330和检验单元340。
[0085]感测放大器单元320包括用于每个存储块的至少一个感测放大器。例如,感测放大器单元320包括用于每列的感测放大器。当针对每列提供感测放大器时,电路尺寸增加,因此感测放大器单元320可以被构造为包括用于每个存储块的一个感测放大器。在这种情况下,用于切换感测放大器的存取目的地的位线的开关布置在列驱动器300中,并且驱动器控制单元330等被构造为控制开关。
[0086]驱动器控制单元330控制写入驱动单元350,使得设定或重置存储单元。驱动器控制单元330从重写控制单元210接收用于给出重置或设定指令的控制信号和使能信号EN_1到EN_16。使能信号EN_K (k是1到16的整数)是表示共同地重置或设定存储块#K的存储单元的时序的信号。
[0087]当根据控制信号提供设定指令时,驱动器控制单元330通过感测放大器单元320从存储单元中读取数据作为预读取数据、从数据输入/输出电路230读取写入数据、以及以位为单位比较该读取数据和写入数据。驱动器控制单元330基于比较结果产生重置屏蔽数据RM[1]到RM[256],并提供该重置屏蔽数据RM[1]到RM[256]给写入驱动单元350。重置屏蔽数据表示对在写入数据中重置的和在预读取数据中设定的位被重置,以及剩余的位被屏蔽。例如,当位是重置目标时,“0”被设定为重置屏蔽(mask)数据,否则“1”被设定为重置屏蔽数据。
[0088]进一步,当所有存储块由使能信号EN_1到EN_16重置时,驱动器控制单元330在写入数据中设定对应于预读取数据中设定的位的位。驱动器控制单元330通过信号线338将写入数据作为写入数据WD[1]到WD[256]提供给检验单元340。
[0089]另一方面,当提供设定指令时,驱动器控制单元330以位为单位比较预读取数据和写入数据。驱动器控制单元330基于比较结果产生设定屏蔽数据SM[1]到SM[256],并且提供设定屏蔽数据SM[1]到SM[256]给写入驱动单元。设定屏蔽数据表示其中在写入数据中设定和在预读取数据中重置的位被设定,并且剩余位被屏蔽。例如,当位是设定目标时,“1”被设定为设定屏蔽数据,否则“0”被设定为设定屏蔽数据。在图5中,屏蔽数据M[l]到[256]包括重置屏蔽数据RM[1]到RM[256]和设定屏蔽数据SM[1]到SM[256]。
[0090]进一步,当设定所有存储块时,驱动器控制单元330通过信号线338向检验单元340提供从数据输入/输出电路230获取的写入数据WD[1]到WD[256]。
[0091]写入驱动单元350根据重写控制单元210和驱动器控制单元330的控制,设定或重置存储单元。写入驱动单元330从重写控制单元210接收用于给出重置或设定指令的控制信号和使能信号EN_1到EN_16。
[0092]当根据控制信号提供重置指令时,在预定时间段期间,使能信号EN_1到EN_16被顺次地设定为低电平。当使能信号EN_K保持设定为低电平时,写入驱动单元350重置存储块抓中的所有存储单元。用这种方式,顺序地重置存储块#1到#16。
[0093]另一方面,当根据控制信号提供设定指令时,在预定时间段期间,使能信号EN_1到EN_16被顺序地设定为高电平。当使能信号EN_K保持设定为高电平时,写入驱动单元350设定存储块#K中的所有存储单元。用这种方式,顺序地设定存储块#1到#16。
[0094]如上所述以存储块为单位按顺序地执行重置或设定,这是因为可以由存储控制单元400 —次所提供的电流存在限制。
[0095]此时,当再次根据控制信号提供重置指令时,使能信号ΕΝ_1到ΕΝ_16被同时设定为低电平。通过该操作,写入驱动器单元350共同重置存储块#1到#16中的预定数量的块。进一步,当再次根据控制信号提供设定指令时,使能信号EN_1到EN_16被同时设定为高电平。通过该操作,写入驱动单元350共同设定存储块#1到#16中的预定数量的块。再次执行重置或设定的处理在下文中将被称为“重试处理”。这里,当再次执行设定或重置时由写入驱动单元350共同指定的存储块的数量受到可以由存储控制单元400—次性提供的电流的限制,但是期望是共同地指定所有存储块。这是因为指定所有存储块时比当指定某些存储块时,吞吐量能够更多地提高。在下文中,假设写入驱动单元350共同地指定所有存储块。
[0096]对于如上所述对存储块共同地执行重试处理,与顺序地执行重试处理相比,减少了重试处理的时间并提高了吞吐量。此时,即使当再次执行设定或重置时在而对存储块共同地执行重试处理时,将比允许一次写入的位更多的位被重置或设定的可能性较低。稍后将描述原因。
[0097]写入驱动单元350是根据本公开的实施例的写入处理单元的实例。
[0098]检验单元340检验是否已经对作为重置目标的所有存储单元进行了重置,并且检验作为设定目标的所有存储单元是否已经被设定。从驱动器控制单元330接收写入数据后,检验单元340通过感测放大器单元320从作为存取目的地的存储单元中读取数据作为检验读取数据。检验单元340以位为单位比较该写入数据和检验读取数据。检验单元340基于以位为单位执行的比较结果,生成检验结果VFP[1]到VFP[256],并且提供检验结果VFP[I]到VFP[256]给重试阻止单元310。例如,当写入数据中的第k个位与检验读取数据中的第k个位一致时,“I”值设定为检验结果VFP[k],否则“O”设定为检验结果VFP[k]。此时,k是I到256的整数。
[0099]进一步,检验单元340生成表示写入数据的所有位与检验读取数据的所有位一致的信号作为检验结果VFPALL,并且提供该检验结果VFPALL给重写控制单元210。例如,当所有位一致时,值“ I ”被设定为检验结果VFPALL,否则“O”被设定为检验结果VFPALL。
[0100]重试阻止单元310防止在其中写入数据与检验读取数据一致的存储单元(也就是,其中已经成功地执行设定或重置的存储单元)中再次执行设定或重置。重试阻止单元310的结构的详情将在下面描述。
[0101]如上所述,防止在已经成功执行重置的存储单元中再次执行重置,并且重置的故障可能性较低。因此,当提供再次执行重置的指令时,实际上重置的位数较小。例如,如果重置的故障可能性是大约百分之一,那么当重置256个位时,12或13个位重置失败并被再次重置。由于再次重置的位数较小,所以即使当再次执行重置时共同重置存储块,将要重置比允许一次写入的位更多的位的可能性较小。这类似地应用于设定。
[0102][重试阻止单元的示例性结构]
[0103]图6是示出根据第一实施例的重试阻止单元310的示例性结构的方框图。重试阻止单元310包括针对每个位线BL的阻止控制晶体管311。
[0104]阻止控制晶体管311阻止对其中已经成功执行设定或重置的存储单元执行重试处理。例如,PMOS晶体管可以用作阻止控制晶体管311。阻止控制晶体管311插入位线BL[k],并且通过栅极电极接收检验结果VFP[k]。当检验结果VFP[k]的值时“O”时,阻止控制晶体管311处于导通状态,并且写入驱动单元350可以通过位线BL [k]执行设定或重置。然而,当检验结果VFP[k]的值时“I”时,也就是,当已经成功地执行重写时,阻止控制晶体管311处于断开状态,并且阻止了通过位线BL[k]从写入驱动单元350提供数据。因此,阻止了重试处理。
[0105][检验单元的示例性结构]
[0106]图7是示出根据第一实施例的检验单元340的示例性结构的方框图。检验单元340包括异或(互斥或)门341,其数量等于存储单元阵列260的行的数量(例如,256);以及一个与(逻辑积)门342。
[0107]异或门341输出输入值的互斥逻辑和。异或门341包括两个输入端,来自数据输入/输出电路230的读取数据RD[k]输入至一个输入端,以及来自驱动器控制单元330的写入数据WD[k]输入至另一个输入端。异或门341提供输入值的互斥逻辑和至重试阻止单元310和与门342作为检验结果VFP[k]。
[0108]与门342输出输入值的逻辑乘积。检验结果VFP[1]到VFP[256]被输入至与门342。与门342提供输入值的逻辑乘积至重写控制单元210作为检验结果VFPALL。
[0109][写入驱动单元的示例性结构]
[0110]图8是示出根据第一实施例的写入驱动单元350的示例性结构的方框图。写入驱动块351包括写入驱动器,其数量等于存储单元的列数。写入驱动器被分成数据写入单元中的多个写入驱动块351。例如,当存储单元的列数(也就是,写入驱动器的数量)是256并且数据写入单元是16位时,写入驱动器被分成写入驱动块#1到#16。
[0111]每个写入驱动块351接收16位屏蔽数据(重置屏蔽数据或设定屏蔽数据),并且连接至16个位线BL。进一步,使能信号EN_K被输入至写入驱动块#K。
[0112][写入驱动器的示例性结构]
[0113]图9是示出根据第一实施例的写入驱动块351的示例性结构的方框图。写入驱动块351包括写入驱动器352,其中写入驱动器352的数量等于对应于数据写入单元的位数(例如,“16”)。
[0114]写入驱动器352根据屏蔽数据和使能信号设定或重置存储单元。写入驱动器352包括重写晶体管353、354、355和356。
[0115]重写控制晶体管353根据使能信号将用于重置存储单元的电流提供给位线BL。重写控制晶体管356根据使能信号将用于设定存储单元的电流提供给位线BL。进一步,重写控制晶体管354根据屏蔽数据将用于重置存储单元的电流提供给位线BL。重写控制晶体管355根据屏蔽数据将用于设定存储单元的电流提供给位线BL。
[0116]例如,PM0S晶体管可以用作重写控制晶体管353和3554,并且NM0S晶体管可以用作重写控制晶体管355和356。
[0117]写入电压Vw施加于重写控制晶体管353的源极电极,漏极电极连接至重写控制晶体管354,并且使能信号输入至栅极电极。重写控制晶体管354的源极电极连接至重写控制晶体管353,漏极电极连接至重写控制晶体管355,并且屏蔽数据输入至栅极电极。
[0118]进一步,重写控制晶体管355的源极电极连接至重写控制晶体管354,漏极电极连接至重写控制晶体管356,并且屏蔽数据输入至栅极电极。重写控制晶体管356的源极电极连接至重写控制晶体管355,基准电压Vss施加于漏极电极,并且使能信号输入栅极电极。这里,写入电压Vw是高于基准电压Vss的电压。
[0119]通过该结构,当使能信号和屏蔽数据具有较低电平时,重写控制晶体管353和354被导通。因此,写入电压Vw施加于位线BL,并且重置连接至位线BL的存储单元。与此同时,当使能信号和屏蔽数据具有较高电平时,重写控制晶体管355和356被导通。因此,基准电压Vss施加于位线BL,并且设定连接至位线BL的存储单元。
[0120][存储控制单元的示例性功能结构]
[0121]图10是示出根据第一实施例的非易失性存储器200的示例性结构的方框图。非易失性存储器200具有数据输入/输出电路230、列驱动器300、重写控制单元210和存储单元阵列260的功能。重写控制单元210进一步具有写入控制单元211和重试控制单元212的功能。列驱动器300具有重试阻止单元310、驱动器控制单元330、检验单元340和写入驱动单元350的功能。
[0122]写入控制单元211顺序地指定存储块#1到#16,并且使写入数据写入到写入驱动单元350中。写入控制单元211接收来自存储器控制器150的命令。当命令是写入命令时,写入控制单元211指示驱动器控制单元330和写入驱动单元350根据控制信号执行重置。进一步,写入控制单元211根据使能信号EN_1到EN_16顺序地指定存储块#1到#16。
[0123]当根据控制信号提供重置指令时,驱动器控制单元330从存储单元阵列260中读取预读取数据、从数据输入/输出电路230读取写入数据、以及以位为单位比较该读取数据和写入数据。驱动器控制单元330基于比较结果产生重置屏蔽数据SM[1]到SM[256],并且提供重置屏蔽数据RM[1]到RM[256]给写入驱动单元350。
[0124]进一步,当所有存储块由使能信号EN_1到EN_16重置时,驱动器控制单元330生成写入数据WD[1]到WD[256],其中设定对应于在预读取数据中设定的位的位。驱动器控制单元330提供写入数据给检验单元340。
[0125]当根据控制信号提供设定指令时,写入驱动单元350根据使能信号EN_1到EN_16顺序地存取存储块#1到#16,并且重置由重置屏蔽数据表示的重置目标的存储单元。
[0126]一旦接收来自驱动器控制单元330的写入数据,检验单元340从存储单元阵列260读取检验读取数据。检验单元340以位为单位比较该写入数据和检验读取数据。检验单元340基于以位为单位产生的比较结果生成检验结果VFP [I]到VFP [256],并提供这些检验结果VFP[1]到VFP[256]给重试阻止单元310。
[0127]进一步,检验单元340生成表示写入数据和检验读取数据的所有位是否一致的检验结果VFPALL的信号,并且提供检验结果VFPALL给重试控制单元212。
[0128]重试阻止单元310阻止在已经成功执行重置的存储单元中再次执行重置。
[0129]当写入数据和检验读取数据的任一位不一致时,重试阻止单元212指定存储块#1到#16,并同时执行重试处理。当写入数据和检验读取数据中的任一位不一致时,重试控制单元212通过控制信号指示驱动器控制单元330和写入驱动单元350执行重置。进一步,重试控制单元212根据使能信号EN_1到EN_16共同指定存储块#1到#16。
[0130]然后,驱动器控制单元3330再次提供重置屏蔽数据RM[1]到RM[256]至写入驱动单元350,并且提供WD [I]到WD [256]给检验单元340。
[0131]写入驱动单元350根据使能信号EN_1到EN_16再次共同地重置存储块#1到#16。检验单元340提供检验结果VFP [I]到VFP [256]给重试阻止单元310,并且提供检验结果VFPALL给重试控制单元212。
[0132]进一步,当写入数据和检验读取数据中的所有位一致时,写入控制单元211通过控制信号提供设定指令,并且通过使能信号EN_1到EN_16顺序地指定存储块#1到#16。驱动器控制单元330、写入驱动单元350、检验单元340、重试阻止单元310和重试控制单元212以与设定时相似的方式工作。因此,写入数据写入存储单元阵列260中。
[0133]对于如上所述对所有存储块共同执行重试处理,与当顺序地执行重试处理相比,减少重试处理的时间并提高吞吐量。此外,由于重试阻止单元310阻止在已经成功执行重置的存储单元中执行重试处理,所以即使当对存储块共同执行重试处理时,将重置比写入单元中的位更多的位的可能性较低。
[0134]图11是示出根据第一实施例的在重置时施加于存储单元262的电压的实例。当使能信号EN_1和重置屏蔽数据RM[1]具有较低电平时,写入驱动器#1中的重写控制晶体管353和354处于导通状态。因此,写入电压Vw通过位线BL[1]施加于存储单元262。由于写入电压Vw是比板极电压Vpp高一预定电压或更大的电压,所以电流从写入驱动器#1流入存储单元262,并且存储单元262被重写为“1”并被重置。换句话说,当通过使能信号EN_1提供重置所有写入驱动块351的指令和重置目标的位由重置屏蔽数据RM[1]表示时,重置相对应的位。
[0135]与此同时,当使能信号EN_1和重置屏蔽数据RM[1]具有较高电平时,写入驱动器#1中的重写控制晶体管353或354处于断开状态。因此,未施加比板极电压Vpp高预定电压或更大的写入电压Vw,并且位线BL[1]的存取目的地的存储单元262未被重写。
[0136]图12是示出根据第一实施例的在设定时施加于存储单元262的电压的实例。当使能信号EN_1和重置屏蔽数据SM[1]具有较高电平时,写入驱动器#1中的重写控制晶体管355和356处于导通状态。因此,基准电压Vss通过位线BL[1]施加于存储单元262。由于基准电压Vss是比板极电压Vpp低预定电压或更大的电压,所以电流从存储单元262流入写入驱动器#1,并且存储单元262被重写为“0”并被设定。换句话说,当通过使能信号EN_1提供设定所有写入驱动块351的指令和设定目标的位由设定屏蔽数据SM[1]表示时,设定相对应的位。
[0137]与此同时,当使能信号EN_1和设定屏蔽数据SM[1]具有较低电平时,写入驱动器#1中的重写控制晶体管355或356处于断开状态。因此,未施加比板极电压Vpp低预定电压或更大的基准电压Vss,并且位线BL[1]的存取目的地的存储单元262未被重写。
[0138][非易失性存储器的示例性操作]
[0139]图13是根据第一实施例的写入处理的实例的流程图。当写入命令输入非易失性存储器200时操作开始。非易失性存储器200从存储器控制器150获取写入数据并保存写入数据(步骤S901 )。非易失性存储器200将通过写入命令而写入在指定地址的数据读取来作为预读取数据(步骤S902)。非易失性存储器200以位为单位比较写入数据和预读取数据。
[0140]然后,非易失去性存储器200基于比较结果生成重置屏蔽数据。非易失性存储器200基于重置屏蔽数据执行重置处理(步骤S910)。然后,非易失性存储器200基于写入数据和预读取数据的比较结果产生设定屏蔽数据(步骤S904)。非易失性存储器200基于设定屏蔽数据执行设定处理(步骤S920)。在步骤S920之后,非易失性存储器200结束写入处理。
[0141]图14是根据第一实施例的重置处理的实例的流程图。非易失性存储器200使使能信号EN_1到EN_16中的一个使能信号转变到低电平,并且重置存储块#1到#16中的一个存储块(步骤S911)。非易失性存储器200确定是否已经重置所有16个存储块(步骤S912)。当所有存储块中的任一存储块还未被重置时(在步骤S912中为否),那么非易失性存储器200使处理返回到步骤S911。
[0142]当所有存储块已经被重置(在步骤S912中为是),那么非易失性存储器200以位为单位比较存储块#1到#16中写入数据和检验读取数据。非易失性存储器200基于比较结果检验是否已经针对每个位成功执行重写(步骤S913)。非易失性存储器200阻止再次重置已经被成功重写的位(步骤S914)。
[0143]非易失性存储器200确定是否已经成功地重写重置目标的所有位(步骤S915)。当重置目标的任一位还未被成功重写时(在步骤S915中为否),那么非易失性存储器200使使能信号EN_1到EN_16转变到低电平。结果,再次共同重置存储块#1到#16 (步骤S918)。在步骤S918之后,非易失性存储器200使处理返回到步骤S913。
[0144]与此同时,当还未成功重写重置目标的所有位时(在步骤S915中为是),那么非易失性存储器200结束重置处理。
[0145]图15是根据第一实施例的设定处理的实例的流程图。非易失性存储器200使使能信号EN_1到EN_16中的一个使能信号转变到高电平,并且设定存储块#1到#16中的一个存储块(步骤S921)。非易失性存储器200确定是否已经设定所有16个存储块(步骤S922)。当还未设定所有存储块中的任一存储块时(在步骤S922中为否),那么非易失性存储器200使处理返回到步骤S921。
[0146]当所有存储块已经被设定时(在步骤S922中为是),那么非易失性存储器200以位为单位比较存储块#1到#16中写入数据和检验读取数据。非易失性存储器200基于比较结果检验是否已经针对每个位成功执行重写(步骤S923)。非易失性存储器200阻止再次设定已被成功重写的位(步骤S924)。
[0147]非易失性存储器200确定是否已经重写设定目标的所有位(步骤S925)。当设定目标的所有位已被成功重写时(在步骤S925中为否),那么非易失性存储器200使使能信号EN_1到EN_16转变到高电平。结果,再次共同地设定存储块#1到#16 (步骤S928)。在步骤S928之后,非易失性存储器200使处理返回到步骤S923。
[0148]与此同时,当已经成功重写设定目标的所有位时(在步骤S925中为是),那么非易失性存储器200结束设定处理。
[0149]图16是示出根据第一实施例的在重置时非易失性存储器200的操作的实例的时序图。非易失性存储器200中的重写控制单元210使使能信号EN_1到EN_16在预定时间段期间顺序地具有低电平。因此,顺序地重置存储块#1到#16。
[0150]非易失性存储器200中的驱动器控制单元330生成重置屏蔽数据RM[1]到RM[256],其中重置目标的位都具有低电平。结果,重置目标的存储单元被重置。
[0151]当重置所有存储块时,非易失性存储器200中的检验单元340检验是否已经针对所有位成功执行重置,并且生成检验结果VFP [I]到VFP [256],其中已经成功重置的位都具有高电平。结果,防止对已经成功执行重置的存储单元再次执行重置。进一步,检验单元340生成表示重置目标的所有位是否已经被成功重置的检验结果VFPALL。
[0152]当检验结果VFPALL具有低电平时,也就是,当重置目标的任一位还未被成功重置时,重写控制单元210使使能信号EN_1到EN_16同时转变到低电平。结果,再次共同重置存储块#1到#16。
[0153]图17是示出根据第一实施例的在设定时非易失性存储器的操作的实例的时序图。非易失性存储器200中的重写控制单元210使使能信号EN_1到EN_16在预定时间段期间顺序地转变到高电平。因此,顺序地设定存储块#1到#16。
[0154]非易失性存储器200中的驱动器控制单元330生成设定屏蔽数据SM[1]到SM[256],其中设定目标的位都具有高电平。结果,设定目标的存储单元被设定。
[0155]当重置所有存储块时,非易失性存储器200中的检验单元340检验是否已经针对所有位成功执行设定,并且生成检验结果VFP [I]到VFP [256],其中已经成功设定的位都具有高电平。结果,防止对已经成功执行设定的存储单元再次执行设定。进一步,检验单元340生成表示设定目标的所有位是否已经被成功设定的检验结果VFPALL。
[0156]当检验结果VFPALL具有低电平时,也就是,当设定目标的任一位还未被成功设定时,重写控制单元210使使能信号EN_1到EN_16同时转变到高电平。结果,再次共同设定存储块#1到#16。
[0157]如上所述,根据第一实施例,当写入数据被再次写入时,存储控制单元400指定预定数量的存储块并同时写入写入数据,因此与再次执行写入时顺序地执行写入相比,提高了吞吐量。进一步,防止对已经被成功写入的位再次执行写入,并降低写入的故障可能性,因此当再次执行写入时,实际上已经写入的位数较小。因此,将写入比写入单元中更多的位的概率较低。
[0158][变形例]
[0159]已经结合其中存储控制单元400被构造为对所有存储块共同执行重试的实例描述第一实施例,,但是可以对一些存储块共同执行重试。这是因为,当存储单元阵列260中存在许多执行写入的存储单元时,那么很难对所有存储单元共同执行重试。例如,考虑其中存储单元阵列260具有的存储单元是第一实施例中所示结构的存储单元的两倍(512位)、存储单元划分成以16位为单位的32个存储块、和写入数据的实例。如果假设写入故障概率等于在第一实施例中的写入故障概率,那么当对32个存储块共同执行重试时,很可能写入比写入单元中更多的位。在这种情况下,存储控制单元400可以共同执行每16个存储块的重试。根据变形例的存储控制单元400与根据第一实施例的存储控制单元的不同之处在于,一些存储块被指定被经受重试处理。
[0160]图18是示出根据第一实施例的变形例的在重置时非易失性存储器的操作的实例的时序图。重写控制单元210使使能信号EN_1到EN_32在预定时间段期间顺序地转变到低电平,并顺序地重置32个存储块。
[0161]驱动器控制单元330生成其中重置目标的位都具有低电平的重置屏蔽数据RM[1]到RM[512]。结果,重置目标的存储单元被重置。
[0162]当重置32个存储块时,检验单元340检验是否已经成功执行重置,并且生成其中已经成功重置的位都具有高电平的检验结果VFP[I]到VFP[512]。进一步,检验单元340生成表示重置目标的所有位是否已经被成功重置的检验结果VFPALL。
[0163]当检验结果VFPALL具有低电平时,也就是,当重置目标的任一位还被未成功重置时,重写控制单元210使使能信号EN_1到EN_16同时转变到低电平,并再次共同重置32个存储块的16个存储块。此后,重写控制单元210使使能信号EN_17到EN_32同时转变成低电平,并且再次共同重置剩余存储块。相似地,在设定处理中,共同设定一些存储块。
[0164]如上所述,根据变形例,无论存储单元阵列260的存储单元数量如何,都可以提高
吞吐量。
[0165]〈2.第二实施例〉
[0166][列驱动器的示例性结构]
[0167]图19是示出根据第二实施例的列驱动器300的示例性结构的方框图。在第一实施例中,假设未能写入的位数小于写入单元中的位,那么在重试处理中,写入数据共同地写入至预定数量的存储块中。然而,当写入故障概率相对较高时,未能写入的位数量可以是写入单元或更大。与第一实施例不同,根据第二实施例的非易失性存储器200计数未能写入的位数,并且只有当计数的位数小于预定阈值时,写入数据才共同地写入预定数量的存储块中。
[0168]在根据第二实施例的列驱动器300中,检验单元340计数未能写入的位数。检验单元340提供计数值给重写控制单元210作为故障位数量CNT。根据第二实施例的重写控制单元210提供指令,使得当故障位数CNT小于写入单元时,对预定数量的存储块共同地执行重试处理。与此同时,当故障位数量CNT不小于阈值时,重写控制单元210提供指令,使得对存储块#1到#16顺序地执行重试处理。此时,阈值被设定为允许一次重写的位数的值(例如,“16”)。
[0169][检验单元的示例性结构]
[0170]图20是示出根据第二实施例的检验单元340的示例性结构的方框图。根据第二实施例的检验单元340进一步包括故障位计数器343。异或门343进一步提供检验结果VFP[1]到VFP[256]给故障位计数器343。
[0171]故障位计数器343计数未能写入的位的数量。故障位计数器343计数检验结果VFP[1]到VFP[256]中“0”值的数量,并提供计数值给重写控制单元210作为故障位数量CNT。
[0172][非易失性存储器的示例性操作]
[0173]图21是示出根据第二实施例的重置处理的实例的流程图。根据第二实施例的重置处理与根据第一实施例的重置处理的不同之处在于,进一步执行步骤S916、S917、和S919。当重置目标的所有位的任一位还未被成功重写时(在步骤S915中为否),非易失性存储器200计数未能写入的位的数量(步骤S916)。然后,非易失性存储器200确定故障位数量CNT是否小于阈值(步骤S917)。
[0174]当故障位数量CNT小于阈值(在步骤S917中为是),非易失性存储器200共同重置存储块#1到#16(步骤S918)。然而,当故障位数量CNT不小于阈值(在步骤S917中为否),非易失性存储器200再次针对每个块重置存储块#1到#16 (步骤S919)。在步骤S918或S919之后,非易失性存储器200使处理返回到步骤S913。
[0175]图22是示出根据第二实施例的设定处理的实例的流程图。根据第二实施例的设定处理与根据第一实施例的设定处理的不同之处在于,进一步执行步骤S926、S927和S929。当重置目标的所有位的任一位还未被成功重写时(在步骤S915中为否),非易失性存储器200计数未能写入的位的数量(步骤S916)。然后,非易失性存储器200确定故障位数量CNT是否小于阈值(步骤S927)。
[0176]当故障位数量CNT小于阈值时(在步骤S927中为是),非易失性存储器200再次共同地设定存储块#1到#16(步骤S928)。然而,当故障位数量CNT不小于阈值(在步骤S927中为否),非易失性存储器200再次针对每个块设定存储块#1到#16 (步骤S929)。在步骤S928或S929之后,非易失性存储器200使处理返回到步骤S923。
[0177]如上所述,根据本发明的第二实施例,当故障位数量小于阈值时,非易失性存储器200可以将写入数据共同写入预定数量的存储块中。因此,当要重试的位数被抑制为小于阈值时,可以提闻吞吐量。
[0178]本发明的实施例是用于实施本发明的实例,在本发明的实施例中可以理解,本发明的实施例中的主题与具体指定在所附权利要求中阐述的主题技术有对应关系。相似地,具体指定权利要求中阐述的主题的技术分别与在本发明的实施例中具有相同名称的主题具有对应关系。然而,本发明不限于以上实施例,在不背离本发明的主旨的保护范围内,可以作出各种改变。
[0179]此外,本发明还可以构造为以下。
[0180](I) 一种存储控制设备,所述存储控制设备包括:
[0181]写入控制单元,按顺序地指定多个存储单元中作为数据写入单元的存储块;
[0182]写入处理单元,将写入数据写入指定的所述存储块中;
[0183]检验单元,从写入了所述写入数据的所述存储块中读出读取数据,并且针对所述多个存储单元中的每一个检验所述读取数据是否与所述写入数据一致;
[0184]重试阻止单元,阻止对所述多个存储单元中所述读取数据与所述写入数据一致的存储单元再次执行写入所述写入数据的重试处理;以及
[0185]重试控制单元,当写入所有写入数据的所述多个存储单元中的任一存储单元中所述读取数据与所述写入数据不一致时,指定多个所述存储块中的至少一些存储块,并且同时执行所述重试处理。
[0186]( 2 )根据(I)所述的存储控制设备,其中,
[0187]所述检验单元检验所述读取数据是否与所述写入数据一致,并且将所述读取数据与所述写入数据不一致的存储单元的数量进行计数以作为故障位数,以及
[0188]当所述故障位数大于I且所述故障位数小于预定阈值时,所述重试控制单元指定多个所述存储块中的至少一些存储块并且同时执行所述重试处理。
[0189]( 3 )根据(2 )所述的存储控制设备,其中,
[0190]当所述故障位数不小于所述预定阈值时,所述重试控制单元按顺序地为每个所述存储块指定所述多个存储单元并执行所述重试处理。
[0191](4 )根据(2 )或(3 )所述的存储控制设备,其中,
[0192]所述预定阈值是不超过允许所述写入处理单元同时写入所述写入数据的存储单元的数量的值。
[0193](5)根据(I)到(4)中任一个所述的存储控制设备,其中,
[0194]所述写入处理单元向指定的所述存储块中的每个存储单元提供所述写入数据并写入所述写入数据,以及
[0195]所述重试阻止单元阻止向所述读取数据与所述写入数据一致的存储单元提供所述数据并阻止所述重试处理的执行。
[0196]( 6 )根据(1)到(5 )中任一个所述的存储控制设备,其中,
[0197]当写入所有写入数据的所述多个存储单元的任一存储单元中所述读取数据与所述写入数据不一致时,所述重试控制单元指定所有多个所述存储块并同时执行所述重试处理。
[0198](7) 一种非易失性存储器,所述非易失性存储器包括:
[0199]多个存储单元;
[0200]写入控制单元,按顺序地指定多个存储单元中作为数据写入单元的存储块;
[0201]写入处理单元,将写入数据写入指定的所述存储块中;
[0202]检验单元,从写入了所述写入数据的所述存储块中读出读取数据,并且针对所述多个存储单元中的每一个检验所述读取数据是否与所述写入数据一致;
[0203]重试阻止单元,阻止对所述多个存储单元中所述读取数据与所述写入数据不一致的存储单元再次执行写入所述写入数据的重试处理;以及
[0204]重试控制单元,当写入所有写入数据的所述多个存储单元的任一存储单元中所述读取数据与所述写入数据不一致时,指定所述多个存储块中的至少一些存储块,并且同时执行所述重试处理。
[0205](8) 一种存储控制方法,所述存储控制方法包括:
[0206]由写入控制单元按顺序地指定多个存储单元中作为数据写入单元的存储块;
[0207]由写入处理单元将写入数据写入指定的所述存储块中;
[0208]由检验单元从写入了所述写入数据的所述存储块中读出读取数据,并且针对所述多个存储单元中的每一个检验所述读取数据是否与所述写入数据一致;
[0209]由重试阻止单元阻止对所述多个存储单元中所述读取数据与所述写入数据一致的存储单元再次执行写入所述写入数据的重试处理;以及
[0210]当写入所有写入数据的所述多个存储单元的任一存储单元中所述读取数据与所述写入数据不一致时,由重试控制单元指定多个所述存储块中的至少一些存储块,并且同时执行所述重试处理。
[0211]本发明包含于2012年8月24日向日本专利局提出的日本优先权专利申请JP2012-184742中公开的相关主题,其全部内容通过引证结合于本文中。
【权利要求】
1.一种存储控制设备,所述存储控制设备包括: 写入控制单元,按顺序地指定多个存储单元中作为数据写入单元的存储块; 写入处理单元,将写入数据写入指定的所述存储块中; 检验单元,从写入了所述写入数据的所述存储块中读出读取数据,并且针对所述多个存储单元中的每一个检验所述读取数据是否与所述写入数据一致; 重试阻止单元,阻止对所述多个存储单元中所述读取数据与所述写入数据一致的存储单元再次执行写入所述写入数据的重试处理;以及 重试控制单元,当写入所有写入数据的所述多个存储单元中的任一存储单元中所述读取数据与所述写入数据不一致时,指定多个所述存储块中的至少一些存储块,并且同时执行所述重试处理。
2.根据权利要求1所述的存储控制设备,其中, 所述检验单元检验所述读取数据是否与所述写入数据一致,并且对所述读取数据与所述写入数据不一致的存储单元的数量进行计数以作为故障位数,以及 当所述故障位数大于I且所述故障位数小于预定阈值时,所述重试控制单元指定多个所述存储块中的至少一些存储块并且同时执行所述重试处理。
3.根据权利要求2所述的存储控制设备,其中, 当所述故障位数不小于所述预定阈值时,所述重试控制单元按顺序地为每个所述存储块指定所述多个存储单元并执行所述重试处理。
4.根据权利要求2所述的存储控制设备,其中, 所述预定阈值是不超过允许所述写入处理单元同时写入所述写入数据的存储单元的数量的值。
5.根据权利要求1所述的存储控制设备,其中, 所述写入处理单元向指定的所述存储块中的每个存储单元提供所述写入数据并写入所述写入数据,以及 所述重试阻止单元阻止向所述读取数据与所述写入数据一致的存储单元提供所述数据并阻止所述重试处理的执行。
6.根据权利要求1所述的存储控制设备,其中, 当写入所有写入数据的所述多个存储单元的任一存储单元中所述读取数据与所述写入数据不一致时,所述重试控制单元指定所有多个所述存储块并同时执行所述重试处理。
7.一种非易失性存储器,所述非易失性存储器包括: 多个存储单兀; 写入控制单元,按顺序地指定所述多个存储单元中作为数据写入单元的存储块; 写入处理单元,将写入数据写入指定的所述存储块中; 检验单元,从写入了所述写入数据的所述存储块中读出读取数据,并且针对所述多个存储单元中的每一个检验所述读取数据是否与所述写入数据一致; 重试阻止单元,阻止对所述多个存储单元中所述读取数据与所述写入数据不一致的存储单元再次执行写入所述写入数据的重试处理;以及 重试控制单元,当写入所有写入数据的所述多个存储单元中的任一存储单元中所述读取数据与所述写入数据不一致时,指定多个所述存储块中的至少一些存储块,并且同时执行所述重试处理。
8.根据权利要求7所述的非易失性存储器,其中,所述检验单元检验所述读取数据是否与所述写入数据一致,并且对所述读取数据与所述写入数据不一致的存储单元的数量进行计数以作为故障位数,以及当所述故障位数大于1且所述故障位数小于预定阈值时,所述重试控制单元指定多个所述存储块中的至少一些存储块并且同时执行所述重试处理。
9.一种存储控制方法,所述存储控制方法包括由写入控制单元按顺序地指定多个存储单元中作为数据写入单元的存储块;由写入处理单元将写入数据写入指定的所述存储块中;由检验单元从写入了所述写入数据的所述存储块中读出读取数据,并且针对所述多个存储单元中的每一个检验所述读取数据是否与所述写入数据一致;由重试阻止单元阻止对所述多个存储单元中所述读取数据与所述写入数据一致的存储单元再次执行写入所述写入数据的重试处理;以及当写入所有写入数据的所述多个存储单元的任一存储单元中所述读取数据与所述写入数据不一致时,由重试 控制单元指定多个所述存储块中的至少一些存储块,并且同时执行所述重试处理。
【文档编号】G11C29/44GK103632732SQ201310359855
【公开日】2014年3月12日 申请日期:2013年8月16日 优先权日:2012年8月24日
【发明者】足立直大, 筒井敬一, 石井健, 大久保英明, 中西健一, 藤波靖, 新桥龙男, 阪井塁, 池谷亮志 申请人:索尼公司