存储器系统的制作方法

文档序号:29303491发布日期:2022-03-19 11:47阅读:160来源:国知局
存储器系统的制作方法
存储器系统
1.相关申请的交叉引用
2.本技术基于2020年9月18日提交的日本专利申请no.2020-157798,并要求享受其优先权,以引用方式将其全部内容并入本文。
技术领域
3.概括地说,本文描述的实施方式涉及存储器系统。


背景技术:

4.包括nand型闪存和被配置为控制非易失性存储器的存储器控制器的存储器系统是已知的,其中nand型闪存用作非易失性存储器。


技术实现要素:

5.提供了存储器系统的一个实施方式,以用于抑制数据可靠性的恶化。
6.总体上,根据一个实施方式,一种存储器系统包括非易失性存储器和存储器控制器。非易失性存储器包括多个组,每个组包括多个存储单元。存储器控制器基于第一组的写入处理中的第一温度和第一组的写入处理之后的第二温度是否满足第一条件,来判断是否对第一组执行刷新处理。
附图说明
7.图1是用于说明根据第一实施方式的存储器系统的结构的框图。
8.图2是用于说明根据第一实施方式的非易失性存储器的结构的框图。
9.图3是用于说明根据第一实施方式的存储单元阵列的结构的电路图。
10.图4是用于说明根据第一实施方式的存储单元的阈值电压分布的示意图。
11.图5是用于说明根据第一实施方式的存储器系统中伴随着写入处理和读取处理之间的温度差的阈值电压分布的变化的示意图。
12.图6是用于说明根据第一实施方式的存储器系统的温度管理信息的概念图。
13.图7是用于说明根据第一实施方式的存储器系统的刷新预约信息的概念图。
14.图8是用于说明根据第一实施方式的存储器系统中的温度管理信息的更新处理的流程图。
15.图9是用于说明根据第一实施方式的存储器系统中的刷新预约判定处理的流程图。
16.图10是用于说明根据第一实施方式的存储器系统的温度转变和状态之间的关系的图。
17.图11是用于说明根据第二实施方式的存储器系统的温度管理信息的概念图。
18.图12是用于说明根据第二实施方式的存储器系统中的温度管理信息的更新处理的流程图。
19.图13是用于说明根据第二实施方式的存储器系统中的刷新预约判定处理的流程图。
20.图14是用于说明根据第三实施方式的存储器系统的温度管理信息的概念图。
21.图15是用于说明根据第三实施方式的存储器系统中的温度管理信息的更新处理的第一示例的流程图。
22.图16是用于说明根据第三实施方式的存储器系统中的温度管理信息的更新处理的第二示例的流程图。
23.图17是用于说明根据第三实施方式的存储器系统中的刷新预约判定处理的流程图。
24.图18是用于说明根据第四实施方式的存储器系统中的刷新预约判定处理的流程图。
具体实施方式
25.在下文中,将参考附图描述实施方式。在下面的描述中,具有相同功能和配置的构成元素将由相同的附图标记来表示。为了将具有相同的附图标记的多个构成元素彼此区别开来,在相同的附图标记之后添加附加标记。如果不需要特别区分组成部分,则只使用相同的附图标记,而不使用附加标记。
26.1.第一实施方式
27.将描述根据第一实施方式的存储器系统。
28.1.1配置
29.将描述第一实施方式。在下文中,将描述作为非易失性存储器而包括nand闪存的存储器系统。
30.1.1.1存储器系统
31.首先,将参考图1来描述包括该存储器系统的配置。
32.如图1中所示,存储器系统1连接到外部主机设备2,并被配置为根据来自主机设备2的指令执行各种操作。存储器系统1包括非易失性存储器10、易失性存储器20和存储器控制器30。例如,可以对非易失性存储器10、易失性存储器20和存储器控制器30进行组合以构成单个半导体器件;这种配置的示例包括诸如sd
tm
卡之类的存储卡、通用闪存(ufs)设备和固态驱动器(ssd)。
33.非易失性存储器10(以下称为nand闪存10)例如包括多个芯片10-0至10-n,每个芯片包括多个存储单元(n为1或者是更大的整数)。nand闪存10非易失性地存储由主机设备2指示要写入的数据。此外,nand闪存10经由存储器控制器30向主机设备2输出主机设备2指示要进行读取的数据。
34.易失性存储器20例如是动态随机存取存储器(dram)并且存储用于管理nand闪存10的固件和各种管理信息。易失性存储器20在下文中称为dram 20。dram 20还存储例如温度管理信息21和刷新预约信息22,作为在抑制nand闪存10中存储的数据的可靠性恶化时使用的信息。
35.作为温度管理信息21,nand闪存10中存储有数据的存储区域和与写入该数据时的温度相关的信息相互关联地存储。
36.刷新预约信息22保存在nand闪存10的写入数据的存储区域中将要执行刷新处理的存储区域的列表。
37.例如,刷新处理包括:在执行纠错过程(稍后描述)之后,将已经写入nand闪存10中的存储区域的数据写入到另一个存储区域,从而减少在读出数据时在数据中检测到的错误数量(例如,错误比特数量)。
38.存储器控制器30包括处理器(cpu)31、缓冲存储器32、主机接口电路33、错误检查和校正(ecc)电路34、nand接口电路35和dram接口电路36。下文将描述的存储器控制器30的各个部件31至36中的每一个部件的功能,可以通过专用硬件、程序(固件)或者硬件资源和固件的组合来实现。
39.处理器31通过将存储在只读存储器(rom)中的固件加载到随机存取存储器(ram)中并执行固件,来控制存储器控制器30的整体操作。例如,当接收到来自主机设备2的写入请求时,处理器31响应于此而执行写入处理。在读取处理和擦除处理时执行类似的过程。
40.缓冲存储器32例如是静态随机存取存储器(sram),并且临时地存储存储器控制器30从nand闪存10读取的数据以及从主机设备2接收的数据。
41.主机接口电路33经由主机总线连接到主机设备2,并进行存储器控制器30和主机设备2之间的通信。主机总线是兼容例如sd
tm
接口、串行连接scsi(小型计算机系统接口)(sas)、串行ata(高级技术附件)(sata)或pci(外围组件互连)express
tm
(pcie)的总线。。
42.ecc电路34对从nand闪存10读取的数据执行错误检测处理和纠错处理。换言之,ecc电路34在写入处理中产生纠错码,并提供具有该纠错码的数据,并在读取处理中对纠错码进行解码,以检测是否存在错误比特。如果检测到错误比特,则ecc电路34确定错误比特的位置并纠正错误比特。纠错的方法例如包括硬比特解码(硬判决解码)和软比特解码(软判决解码)。作为在硬判决解码中使用的编码,可以使用bose-chaudhuri-hocquenghem(bch)码、reed-solomon(rs)码等等。作为在软判决解码中使用的编码,可以使用低密度奇偶校验(ldpc)等等。
43.nand接口电路35通过nand总线连接到nand闪存10,以与nand闪存10进行通信。nand接口电路35控制存储器控制器30与nand闪存10之间的数据、命令和地址的传输,可以独立地控制nand闪存10中的芯片10-0至10-n。nand接口电路35符合nand接口标准。
44.dram接口电路36连接到dram 20,并控制存储器控制器30和dram 20之间的通信。dram接口电路36符合dram接口标准。
45.1.1.2芯片
46.接着,将参考图2来描述非易失性存储器中的芯片的结构。图2示出了作为示例的芯片10-0的结构。由于作为芯片10-0以外的芯片的芯片10-1至10-n与芯片10-0具有相同的结构,因此将省略对芯片10-1至10-n的描述。
47.如图2中所示,芯片10-0包括例如输入/输出电路11、寄存器组12、逻辑控制器13、定序器14、温度传感器15、电压生成电路16、存储单元阵列17、行解码器模块18和读出放大器模块19。
48.输入/输出电路11向/从存储器控制器30发送/接收例如8比特宽度的输入/输出信号i/o1~i/o8。输入/输出信号i/o可以包括数据dat、状态sts、地址add和命令cmd。输入/输出电路11还向读出放大器模块19发送数据dat,以及从读出放大器模块19接收数据dat。
49.寄存器组12包括状态寄存器12a、地址寄存器12b和命令寄存器12c。状态寄存器12a、地址寄存器12b和命令寄存器12c分别存储状态sts、地址add和命令cmd。
50.例如,根据定序器14的操作状态来更新状态sts。基于来自存储器控制器30的指令,将状态sts从状态寄存器12a传送到输入/输出电路11,并输出到存储器控制器30。地址add从输入/输出电路11传送到地址寄存器12b,并且地址add可以包括例如芯片地址、块地址、页地址和列地址。命令cmd从输入/输出电路11传送到命令寄存器12c,并且命令cmd包括用于芯片10-0的各种操作的命令。
51.逻辑控制器13基于从存储器控制器30接收的控制信号,来控制输入/输出电路11和定序器14。这样的控制信号包括例如芯片使能(enable)信号cen、命令锁存使能信号cle、地址锁存使能信号ale、写使能信号wen、读使能信号ren和写保护信号wpn。逻辑控制器13向存储器控制器30通知从定序器14接收的控制信号(例如,就绪/忙(ready/busy)信号rbn)。
52.芯片使能信号cen是使芯片10-0激活的信号。命令锁存使能信号cle是向输入/输出电路11通知所接收到的输入/输出信号i/o是命令cmd的信号。地址锁存使能信号ale是向输入/输出电路11通知所接收到的输入/输出信号i/o是地址add的信号。写使能信号wen是指示输入/输出电路11将输入/输出信号i/o输入的信号。读使能信号ren是指示输入/输出电路11将输入/输出信号i/o输出的信号。写保护信号wpn是当电源打开或关闭时,将芯片10-0置于受保护状态的信号。
53.就绪/忙信号rbn是向存储器控制器30通知芯片10-0处于就绪状态还是忙状态的信号。在本技术中,“就绪状态”指示芯片10-0准备好接受来自存储器控制器30的命令,“忙状态”指示芯片10-0没有准备好接受来自存储器控制器30的命令。
54.定序器14控制芯片10-0的整个操作。例如,定序器14基于存储在命令寄存器12c中的命令cmd和存储在地址寄存器12b中的地址add,来执行读取处理、写入处理和擦除处理。定序器14使状态寄存器12a存储例如从温度传感器15获取的温度信息作为状态sts,并经由输入/输出电路11将温度信息输出到存储器控制器30。可以将温度信息不作为状态sts而是作为状态sts以外的信息,输出到存储器控制器30。
55.温度传感器15设置在芯片10-0中,并且测量例如存储单元阵列17的温度。温度传感器15向定序器14发送关于测量的温度的信息。温度传感器15可以不直接测量存储单元阵列17的温度。温度传感器15可以测量例如除了存储单元阵列17之外的部分的温度。在这种情况下,可以由定序器14基于关于温度传感器15所测量的温度,来估计存储单元阵列17的温度。
56.例如,电压生成电路16产生例如在读取处理、写入处理和擦除处理中使用的电压。电压生成电路16将产生的电压提供给存储单元阵列17、行解码器模块18和读出放大器模块19。
57.存储单元阵列17包括多个平面pb。图2所示的例子中的多个平面pb包括两个平面pb0和pb1。平面pb中的每一个包括多个块blk0至blkn(其中,n为1或者是更大的整数)。平面pb可彼此并行操作。块blk是被配置为以非易失性方式存储数据的多个存储单元晶体管的集合,并且用作例如擦除处理的单位。每个存储单元晶体管与单个位线bl和单个字线wl相关联。
58.行解码器模块18基于块地址来选择执行各种处理的块blk。行解码器模块18将从
电压生成电路16提供的电压传送到所选块blk中的字线wl等等。
59.读出放大器模块19在读取处理中从存储单元阵列17读取数据,并将读取的数据传送到输入/输出电路11。读出放大器模块19根据从输入/输出电路11接收到的数据,在写入处理中向位线bl施加预定的电压。
60.1.1.3存储单元阵列
61.接着,将描述根据第一实施方式的非易失性存储器的芯片中包括的存储单元阵列的配置。
62.图3是示出根据第一实施方式的存储单元阵列17的结构的电路图的例子。在图3中,示出了存储单元阵列17中的一个块blk。如图3中所示,块blk包括例如四个串单元su0至su3。
63.每个串单元su包括分别与位线bl0至blm(m为1或者是更大的整数)相关联的多个nand串ns。nand串ns包括例如存储单元晶体管mt0至mt7以及选择晶体管st1和st2。
64.每个存储单元晶体管mt包括控制栅极和电荷存储层,并以非易失性方式存储数据。选择晶体管st1和st2中的每一个用于在执行各种处理时选择串单元su。
65.在每个nand串ns中,串联地连接存储单元晶体管mt0至mt7。选择晶体管st1连接在该串联连接的存储单元晶体管mt0至mt7的一端与相关联的位线bl之间。选择晶体管st2的漏极连接到该串联连接的存储单元晶体管mt0到mt7的另一端。选择晶体管st2的源极连接到源极线celsrc。
66.在同一块blk中,包含在串单元su0至su3中的多个选择晶体管st1的栅极,分别共同连接到选择栅极线sgd0至sgd3。多个存储单元晶体管mt0至mt7的控制栅极分别共同连接到字线wl0至wl7。多个选择晶体管st2的栅极分别共同连接到选择栅极线sgs。
67.位线bl0至blm在多个块blk间共享。对应于相同列地址的nand串ns共同地连接到相同位线bl。字线wl0至wl7中的每一个按每个块blk设置。源极线celsrc例如在多个块blk间共享。
68.连接到单个串单元su中的公共字线wl的多个存储单元晶体管mt的集合,称为例如单元单位(cell unit)cu并且用作写入处理的单位。例如,将包括有存储1比特数据的存储单元晶体管mt的单元单位cu的存储容量,定义为“1页数据”。1页(page)数据用作例如读操作的单位。根据存储在存储单元晶体管mt中的数据的比特数,单元单位cu可以具有两页或更多页数据的存储容量。
69.存储单元阵列17的上述电路结构仅仅是举例,并且不限于此。例如,可以适当地将每个块blk中包括的串单元su的数量确定为任意数量。可以适当地将包含在每个nand串ns中的存储单元晶体管mt的数量以及选择晶体管st1和st2的数量,单独地确定为任意数量。
70.1.1.4数据存储方式
71.存储器系统1可以使用多种类型的写入模式。例如,存储器系统1可以使用单级单元(slc)模式、多级单元(mlc)模式、三级单元(tlc)模式或四级单元(qlc)模式。slc模式、mlc模式、tlc模式和qlc模式是用于在单个存储单元晶体管mt中分别存储1比特数据、2比特数据、3比特数据和4比特数据的写入模式。
72.图4是根据第一实施方式的存储器系统1中的存储单元晶体管mt的阈值电压分布的例子。图4分别示出了当使用slc模式、mlc模式、tlc模式和qlc模式时,四种类型的阈值电
压分布和读取电压组。在图4所示的阈值电压分布中,纵轴表示存储单元晶体管mt的数量,横轴表示存储单元晶体管mt的阈值电压vth。如图4中所示,所述多个存储单元晶体管mt根据所应用的写入模式(换言之,所存储数据的比特数),形成多个阈值电压分布。
73.当使用slc模式(1比特/单元)时,多个存储单元晶体管mt的阈值电压形成两个阈值电压分布。这两种分布分别称为“er”状态和“a”状态(从低到高的阈值电压)。在slc模式下,将具有不同值的1比特数据分别分配给“er”状态和“a”状态。
74.当使用mlc模式(2比特/单元)时,多个存储单元晶体管mt的阈值电压形成四个阈值电压分布。这四种分布分别称为“er”状态、“a”状态、“b”状态和“c”状态(从低到高的阈值电压)。在mlc模式下,将具有不同值的2比特数据分别分配给“er”状态到“c”状态。
75.当使用tlc模式(3比特/单元)时,多个存储单元晶体管mt的阈值电压形成八个阈值电压分布。这八种分布分别称为“er”状态、“a”状态、“b”状态、“c”状态、“d”状态、“e”状态、“f”状态和“g”状态(从低到高的阈值电压)。在tlc模式下,将具有不同值的3比特数据分别分配给“er”状态到“g”状态。
76.当使用qlc模式(4比特/单元)时,多个存储单元晶体管mt的阈值电压形成十六个阈值电压分布。这十六种分布分别称为“er”状态、“a”状态、“b”状态、“c”状态、“d”状态、“e”状态、“f”状态、“g”状态、“h”状态、“i”状态、“j”状态、“k”状态、“l”状态、“m”状态、“n”状态和“o”状态(从低到高的阈值电压)。在qlc模式下,将具有不同值的4比特数据分别分配给“er”状态到“o”状态。
77.在每种写入模式中,在两个相邻的阈值分布之间设置读取电压。具体而言,将读取电压va设置在“er”状态下的最大阈值电压和“a”状态下的最小阈值电压之间。类似地,将读取电压vb设置在“a”状态和“b”状态之间。将读取电压vc设置在“b”状态和“c”状态之间。将读取电压vd设置在“c”状态和“d”状态之间。将读取电压ve设置在“d”状态和“e”状态之间。将读取电压vf设置在“e”状态和“f”状态之间。将读取电压vg设置在“f”状态和“g”状态之间。将读取电压vh设置在“g”状态和“h”状态之间。将读取电压vi设置在“h”状态和“i”状态之间。将读取电压vj设置在“i”状态和“j”状态之间。将读取电压vk设置在“j”状态和“k”状态之间。将读取电压vl设置在“k”状态和“l”状态之间。将读取电压vm设置在“l”状态和“m”状态之间。将读取电压vn设置在“m”状态和“n”状态之间。将读取电压vo设置在“n”状态和“o”状态之间。
78.在每种写入模式中,将读取通过(read pass)电压vread设置为高于最高阈值电压分布的最大阈值电压的电压。不管存储在其中的数据如何,被施加了读取通过电压vread的存储单元晶体管mt都导通。
79.存储在单个存储单元晶体管mt中的数据的上述比特数仅仅是一个举例,并且不限于此。例如,可以在存储单元晶体管mt中存储5比特或更多比特数据。在每种写入模式中,可以将读取电压和读取通过电压中的每一个设置为相同的电压值,或者可以设置为不同的电压值。
80.图4示出了阈值电压分布不重叠的情况。然而实际上,阈值电压分布可能因各种因素而变化和重叠。在这种情况下,可能会从与两个相邻阈值分布之间的重叠部分相对应的存储单元晶体管mt中读取到错误数据,这是不期望的。
81.图5是根据第一实施方式,示出由于存储单元晶体管mt的阈值电压分布的重叠而
导致的错误比特数的示意图。在图5中,假设使用mlc模式作为示例。图5通过使用与“b”状态和“c”状态相对应的两个阈值电压分布为例,基于写入处理和读取处理之间的温度差异(作为改变阈值电压分布的因素的例子),来示出阈值电压分布的变化。具体地说,图5(a)示出了在写入处理中的温度和读取处理中的温度相等的情况下(下文称为情况(a)),阈值电压分布的重叠的状态。图5(b)和图5(c)分别示出了在写入处理中的温度和读取处理中的温度显著不同的情况下(下文称为情况(b)和情况(c)),阈值电压分布的重叠的状态。
82.如图5(a)至图5(c)中所示,在情况(b)和情况(c)下,阈值电压分布的重叠状态与情况(a)中的有很大不同。图5(a)至图5(c)中的每个图的阴影部分的面积对应于被判定为将对应于“b”状态的数据错误地存储为“c”状态的存储单元晶体管mt的数量、和被判定为将对应于“c”状态的数据错误地存储为“b”状态的存储单元晶体管mt的数量的总和(下文称为错误比特数ne_bc)。如果将读取电压vc设置为与两个阈值电压分布的交点相对应的电压,则面积可以最小。在情况(b)中,与两个阈值电压分布的交点相对应的电压与情况(a)中的电压不同。因此,如果通过使用读取电压vc来读取数据,则与图5(b)中阴影部分的面积相对应的错误比特数量ne_bc将大于情况(a)。
83.此外,如图5(a)至图5(c)中所示,情况(c)中的两个阈值电压分布比情况(a)中的更宽。因此,即使将读取电压重新设置为与情况(c)中两个阈值电压分布的交点相对应的电压vc’,与图5(c)中阴影部分的面积相对应的错误比特数量ne_bc将大于情况(a)。
84.因此,在情况(b)和(c)中,由于错误比特数ne_bc大于情况(a),因此ecc电路34在纠错处理中失败的可能性可能很高,而这是不期望的。为了避免这种情况,存储器控制器30存储温度管理信息21以判断是否需要刷新处理,并将判断结果存储在刷新预约信息22中。
85.1.1.5温度管理信息
86.接着,将描述根据第一实施方式的温度管理信息的结构。图6是示出根据第一实施方式的存储系统1的配置示例的概念图。
87.如图6中所示,在温度管理信息21中,对于nand闪存10中的所有存储区域,每个预定存储区域(即,温度管理单位)存储低温标志。低温标志表示当在相应温度管理单位的存储区域中写入数据时,存储单元阵列17的温度是否较低。如果写入数据时存储单元阵列17的温度较低,则在低温标志中存储“真”,否则,在低温标志中存储“假”。由存储器控制器30例如基于从nand闪存10发送的温度传感器15的温度信息判定温度是否较低。在其中不写入数据的温度管理单位的低温标志中,例如存储“假”。
88.图6示出了温度管理单位是字线wl的例子。具体地说,图6示出了将一个低温标志分配给一个单元单位cu(即,连接到同一块blk中的同一字线wl的所有存储单元晶体管mt)的情况。
89.在图6的例子中,将芯片chip0(芯片0)的块blk0中与字线wl0至wl5相关联的六个低温标志设置为“真”,而将与字线wl6和wl7相关联的两个低温标志设置为“假”。参考该信息,当在连接到芯片chip0中的块blk0里的字线wl0至wl5的存储单元中写入数据时,存储控制器30识别出存储单元阵列17处于低温状态。当在连接到芯片chip0中的块blk0里的字线wl6和wl7的存储单元中写入数据时,存储控制器30也识别出存储单元阵列17不处于低温状态。
90.上面所描述的结构允许存储器控制器30在写入数据时,确定nand闪存10中的所有
存储区域的温度状态。
91.1.1.6刷新预约信息
92.接着,将描述根据第一实施方式的刷新预约信息的结构。图7是示出根据第一实施方式的存储器系统1中的刷新预约信息22的结构示例的概念图。
93.如图7中所示,刷新预约信息22例如以刷新处理的执行单位,存储nand闪存10中的存储区域的刷新处理预约区域。刷新处理的执行单位例如是块blk。图7显示了当刷新处理的执行单位为块blk时,刷新预约信息22存储了芯片chip0的包括块blk0和块blk1中的存储区域被预约用于刷新处理的信息。
94.存储器控制器30参考刷新预约信息22,从而例如以块blk为单位的预约顺序对可以包括多个温度管理单位的预约块blk执行刷新处理。应当注意,刷新处理的执行单元并不限于块blk,而可以是温度管理单位(例如,字线wl)。
95.1.2操作
96.接着,将描述根据第一实施方式的存储器系统中的操作。
97.1.2.1温度管理信息的更新处理
98.首先,将描述在根据第一实施方式的存储器系统中的伴随写入处理的温度管理信息的更新处理。
99.图8是显示根据第一实施方式的存储器系统中的温度管理信息21的更新处理的流程图。
100.如图8中所示,在步骤st11中,存储器系统1执行写入处理。具体而言,例如,存储器控制器30响应来自主机设备2的写入请求而发出写命令集,并将其发送到nand闪存10。例如,写命令集包括:指示nand闪存10执行写入处理的命令、指定数据要写入到的存储区域的地址、以及要写入该存储区域中的数据。在nand闪存10接收到写命令集后,将写命令集中包含的数据写入指定地址的存储区域。
101.在步骤st12中,存储器控制器30从nand闪存10获取关于写入处理时温度(以下称为“写入处理时温度”)的信息。具体而言,例如,存储器控制器30发出温度读取命令,并将其发送至nand闪存10。例如,该温度读取命令为状态读取命令。在接收到温度读取命令后,nand闪存10向存储器控制器30发送关于温度传感器15所测量的温度的信息。
102.在图8的例子中,在步骤s11的处理之后执行步骤s12的处理,然而,实施方式并不限于该例子。例如,可以与步骤st11的处理的执行并行地执行步骤st12的处理;获取写入处理时的温度的定时,可以是写入处理的执行期间的任意定时。此外,例如,可以在步骤st11的处理之前,执行步骤st12的处理。
103.例如,存储器控制器30可以在每次执行对一条字线wl的写入处理时获取写入处理时温度。在这种情况下,由于一条字线wl的写入处理在几毫秒内完成,因此无论在写入处理中的哪个时刻获得温度,都不会出现显著差异。因此,存储器控制器30可以获取在一条字线wl的写入处理中的某个定时一次测量的温度,作为该写入处理时温度。
104.此外,例如,存储器控制器30可以在每次执行一个块blk的写入处理时,获取该写入处理时温度。在这种情况下,写入处理期间的温度可能会发生很大变化。因此,存储器控制器30可以在针对一个块blk的写入处理期间(例如,在写入处理的开始和结束时),获取在多个特定时刻测量的多个温度。在那种情况下,存储器控制器30可以使用所述多个获取的
温度的平均值作为该写入处理时温度。替代地,存储器控制器30可以使用在针对一个块blk的写入处理期间,在多个预定的定时测量的多个温度中的最低值作为该写入处理时温度。
105.在步骤st13中,存储器控制器30判断在步骤st12中获取的写入处理时温度是否低于阈值tth1。存储器控制器30使用阈值tth1,作为用于判断该写入处理时温度是否较低的阈值。
106.如果写入处理时温度低于阈值tth1(步骤st13;是),则存储器控制器30确定该写入处理时温度较低,并且处理转到步骤st14。在步骤st14中,存储器控制器30将与该写入处理时温度低于阈值tth1的写入目标区域相对应的温度管理单位的低温标志设置为“真”。
107.另一方面,如果写入处理时温度等于或高于阈值tth1(步骤st13;否),则存储器控制器30确定该写入处理时温度不低,并且处理转到步骤st15。在步骤st15中,存储器控制器30将与该写入处理时温度等于或高于阈值tth1的写入目标区域相对应的温度管理单位的低温标志设置为“假”。
108.至此,写入处理中涉及的温度管理信息21的写入处理和更新处理结束。
109.1.2.2刷新预约判定处理
110.接着,将描述根据第一实施方式的存储器系统中的刷新预约判定处理。图9是示出根据第一实施方式的存储器系统1中的刷新预约判定处理的流程图。图9所示的刷新预约判定处理的步骤st21~st24,例如由存储器控制器30周期性地执行。
111.如图9中所示,在步骤st21中,存储器控制器30从nand闪存10中,获取关于在判断是否预约刷新处理时使用的温度的信息(下文称为“刷新处理判定时温度”)。应当注意,当获取刷新处理判定时温度时,存储器控制器30获取一个时间点的一个温度作为该刷新处理判定时温度。因此,用于获取刷新处理判定时温度的方法与用于获取写入处理时间的温度的方法不同,后者在特定时间段内获取多个温度的代表值。
112.在步骤st22中,存储器控制器30判断在步骤st21中获取的刷新处理判定时温度是否等于或高于阈值tth2。对于具有低温标志“真”的温度管理单位,存储器控制器30使用阈值tth2作为判断刷新处理判定时温度是否比写入处理时温度显著升高的阈值。阈值tth2高于阈值tth1(即,tth2》tth1)。
113.如果刷新处理判定时温度等于或高于阈值tth2(步骤st22;是),则处理转到步骤st23。如果刷新处理判定时温度低于阈值tth2(步骤st22;否),则省略步骤st23和st24。
114.在步骤st23中,存储器控制器30为具有低温标志“真”的所有温度管理单位预约刷新处理。具体而言,存储器控制器30参考温度管理信息21来选择具有低温标志“真”的所有温度管理单位。然后,存储器控制器30将对包括所有选择的温度管理单位的块blk的刷新处理进行了预约的信息存储在刷新预约信息22中。
115.在步骤st24中,存储器控制器30将已经针对其预约了刷新处理的所有温度管理单位的低温标志设置为“假”。
116.这样,完成了刷新预约判定处理。
117.存储器控制器30可以在任何时间执行所预约的刷新处理。
118.具体而言,例如,存储器控制器30发出包含刷新处理目标块blk的地址的读命令集,并将该读命令集发送至nand闪存10。在接收到该读命令集后,nand闪存10从刷新处理目标块blk读取数据,并将读取的数据输出到存储器控制器30。当接收到来自nand闪存10的读
取数据时,存储器控制器30中的ecc电路34对读取数据执行错误校正处理,获取纠错后的数据。
119.存储器控制器30发出包含纠错后数据的写命令集,并将该写命令集发送到nand闪存10。nand闪存10在接收到写命令集后,将纠错后数据写入不同于刷新处理目标块blk的另一个块blk。或者,nand闪存10从刷新处理目标块blk中擦除写入的数据,然后将纠错后的数据写入刷新处理目标块blk中。然后,存储器控制器30使刷新预约信息22中指示刷新处理目标块blk的信息无效。
120.至此,刷新处理结束。
121.1.2.3存储器系统的状态与温度之间的关系
122.图10是示出根据第一实施方式的存储器系统1的状态和温度转变之间的关系的图。图10以时间序列的方式示出了从断电状态的存储器系统1的启动到再次返回断电状态的序列的示例,以及在该状态转变中所涉及的存储器系统1中的温度变化。
123.如图10中所示,存储器系统1在到时刻t0之前都处于断电状态。在断电状态下,存储器系统1维持在温度tp0。温度tp0是放置存储器系统1的室内环境的温度(例如,5℃)。温度tp0可以是20℃或25℃,并且不限于这些示例,因为可以由用户进行设置。
124.在时刻t0,开始向存储器系统1供电。因此,存储器系统1执行启动处理(例如,开机读取处理)。此外,存储器系统1根据来自主机设备2的请求,执行例如包括读取处理和写入处理的主机处理。存储器系统1还根据需要执行后台(background)处理,该后台处理是不基于来自主机设备2的请求的处理。因此,存储器系统1的温度从温度tp0升高,并在时刻t1达到温度tp1(》tp0)。温度tp1例如是45℃。在图10中,在存储器系统1的温度等于或高于温度tp0并且等于或低于温度tp1的时段中,存储器系统1的状态称为“启动状态”。
125.随后,当执行主机处理和后台处理时,存储器系统1的温度在时刻t1之后仍然升高,并在时刻t2达到温度tp2(》tp1)。温度tp2例如是70℃。然后,在时刻t2到时刻t3期间,执行主机处理和后台处理产生的热量与通过温度控制机制(没有示出)释放的热量平衡,并且存储器系统1的温度变得稳定在温度tp2。在图10中,当存储器系统1的温度稳定时,从时刻t2到时刻t3的时间段内的存储系统1的状态称为“稳定状态”。
126.在时刻t3,例如由于没有来自主机设备2的请求,存储器系统1的温度开始下降。由于在时刻t3之后仍在执行后台处理,因此存储器系统1的温度在时刻t4,再次变得稳定于温度tp1。在图10中,从存储器系统1的温度开始从温度tp2下降到温度保持稳定在温度tp1的时刻t5的时间段,称为“空载(idling)状态”。温度tp1可以是在存储器系统1的开机状态下,温度稳定的所有状态中的最低温度。存储器系统1可以将阈值tth1设置为低于温度tp1的温度。
127.在时刻t5,再次执行主机处理。因此,存储器系统1的温度升高并在时刻t6达到温度tp2。在时刻t6至时刻t7的时间段内,存储器系统1再次处于稳定状态。
128.在时刻t7,停止向存储器系统1供电,存储器系统1处于断电状态。因此,存储器系统1中的主机处理和后台处理停止,并且存储器系统1的温度降低至温度tp0。
129.至此,完成了存储器系统1的序列。
130.基于图10所示的序列中的各个状态中的温度tp0~tp2,存储器控制器30在温度tp0和tp1之间设置阈值tth1和tth2。阈值tth2低于温度tp1,例如设定为30℃和40℃之间的
范围(30℃<tth2<40℃)。阈值tth1低于阈值tth2,例如设定在10℃和30℃之间的范围内(10℃<tth1<30℃)。结果,存储器控制器30可以避免在稳定状态和空载状态下无休止地重复刷新处理。
131.1.3本实施方式的效果
132.根据第一实施方式,当某个存储区域在写入处理时温度低于阈值tth1,并且写入处理后的某个存储区域的温度等于或高于阈值tth2时,存储器控制器30为该存储区域预约刷新处理。因此,启动状态下写入的数据在稳定状态(或空载状态)下的读取处理中,可以在读取数据中包括的错误比特的数量超过ecc电路34的软判决解码的校正能力之前,在更高的温度下重写在启动状态下写入的数据。因此,可以抑制由于写入处理和读取处理之间的温度差异所导致的阈值电压分布的变化,从而可以抑制包含在读取数据中的错误比特数的增加。因此,可以抑制数据可靠性的恶化。
133.作为补充说明,按照图10所示的顺序,启动状态和稳定状态之间的温度差大于空载状态和稳定状态之间的温度差以及启动状态和空载状态之间的温度差。因此,与在稳定状态下读取空载状态(例如,通过后台处理)写入的数据、以及在空载状态下读取启动状态(例如,通过后台处理)写入的数据相比,在稳定状态下读取启动状态写入的数据时,读取数据的可靠性受损的可能性更高。
134.根据第一实施方式,在温度管理信息21的更新处理中,当nand闪存10的温度低于阈值tth1时,存储器控制器30针对写入数据的存储区域,按每个温度管理单位设置低温标志“真”。结果,存储器控制器30可以确定在启动状态下在低温状态下(特别是在温度tp0附近)写入数据的存储区域。此外,在刷新预约判定处理中,当nand闪存10的温度等于或高于阈值tth2时,存储器控制器30为设置了低温标志“真”的所有温度管理单位预约刷新处理。为此,直到存储器系统1变为稳定状态(例如,处于空载状态),存储器控制器30可以为设置了低温标志“真”的所有温度管理单位预约刷新处理的执行。因此,可以避免在高温时读取低温时所写入的数据之时检测到的错误比特数超过ecc电路34的软判决解码的校正能力的情况。
135.2.第二实施方式
136.接着,将描述根据第二实施方式的存储器系统。第二实施方式与第一实施方式的不同之处在于,没有为刷新处理判定时温度和写入处理时温度单独地设置阈值。事实上,在第二实施方式中,针对刷新处理判定时温度和写入处理时温度之间的差,来设置阈值。在下文中,将省略与第一实施方式相同的配置和操作的描述,并且将主要描述与第一实施方式的配置和操作不同的配置和操作。
137.2.1温度管理信息
138.图11是示出根据第二实施方式的存储器系统的配置示例的概念图,并且对应于第一实施方式中的图6。
139.如图11中所示,温度管理信息21a在nand闪存10的所有存储区域中按每个温度管理单位存储写入处理时温度,而不是低温标志。
140.图11的例子示出了与芯片chip0的块blk0中的字线wl0至wl7相关联地存储写入处理时温度t0至t7的情况。参考该信息,存储器控制器30可以具体地确定每个温度管理单位中的写入处理时温度。
141.2.2温度管理信息的更新处理
142.图12是示出根据第二实施方式的存储器系统中的温度管理信息21a的更新处理的流程图,并且对应于第一实施方式中的图8。
143.如图12中所示,在步骤st31中,存储器系统1执行写入处理。由于写入处理的细节与图8中的步骤st11相似,因此省略对其的描述。
144.在步骤st32中,存储器控制器30从nand闪存10获取写入处理时温度。由于获取写入处理时温度的处理与图8中的步骤st12的处理类似,因此省略对其的描述。
145.在步骤st33中,存储器控制器30存储与写入目标区域相对应的温度管理单位的写入处理时温度。
146.至此,完成了温度管理信息21a的更新处理。
147.2.3刷新预约判定处理
148.图13是示出根据第二实施方式的存储器系统中的刷新预约判定处理的流程图,并且对应于第一实施方式中的图9。图13中所示的刷新预约判定处理的步骤st41~st45,例如由存储器控制器30周期性地执行。
149.如图13中所示,在步骤st41中,存储器控制器30获取刷新处理判定时温度。由于获取刷新处理判定时温度的处理与图9中的步骤st21的处理类似,因此省略对其的描述。
150.在步骤st42中,存储器控制器30参照温度管理信息21a,选择存储了其写入处理时温度的温度管理单位。
151.在步骤st43中,存储器控制器30判断在步骤s41中获取的刷新处理判定时温度与在步骤st42中选择的温度管理单位的写入处理时温度之间的差值是否等于或高于阈值tth3。例如,可以将阈值tth3设置在允许因写入处理时温度和读取处理时的温度之间的差异而引起的阈值电压分布的变化的范围内。如果由于阈值电压分布的变化而发生的错误比特数等于或小于ecc电路34通过纠错处理可以纠正的错误比特数,则该阈值电压分布的变化是允许的。
152.如果差值等于或大于阈值tth3(步骤st43;是),则处理转到步骤st44。如果差值小于阈值tth3(步骤st43;否),则省略步骤st44,并且处理转到步骤st45。
153.在步骤st44中,存储器控制器30在刷新预约信息22中存储关于对包括步骤st42中选择的温度管理单位的块blk的刷新处理进行了预约的信息,从而预约刷新处理。
154.在步骤st45中,存储器控制器30判断是否已经选择了在温度管理信息21a中管理的所有温度管理单位。如果存在未被选择的温度管理单位(步骤st45;否),则处理返回到步骤st42。用此方式,重复步骤st42~st45,直到选择了所有温度管理单位。如果已经选择了所有温度管理单位(步骤st45;是),则完成刷新预约判定处理。
155.2.4本实施方式的效果
156.根据第二实施方式,当温度管理单位具有等于或大于阈值tth3的刷新处理判定时温度和写入处理时温度之间的差值时,存储器控制器30为该温度管理单位预约刷新处理。因此,可以针对每个温度管理单位,检测已经进入不允许阈值电压变化的状态的存储区域。因此,由于存储器控制器30可以判断是否为每个温度管理单位预约刷新处理,所以可以执行更多自适应控制。
157.3.第三实施方式
158.接着,将描述根据第三实施方式的存储器系统。第三实施方式与第一实施方式和第二实施方式的不同之处在于,即使写入处理时温度和刷新处理判定时温度满足条件,也不为一些温度管理单位预约刷新处理。在下文中,将省略与第二实施方式相同的配置和操作的描述,并且将主要描述与第二实施方式的配置和操作不同的配置和操作。
159.3.1温度管理信息
160.图14是示出根据第三实施方式的存储器系统的配置示例的概念图,并且对应于第二实施方式中的图11。
161.如图14中所示,温度管理信息21b在nand闪存10的所有存储区域中为每个温度管理单位存储排除标志以及写入处理时温度。排除标志是即使写入处理时温度和刷新处理判定时温度满足条件,也判断是否针对对应温度管理单位中的存储区域来预约刷新处理的标志。
162.如果在预约刷新处理时不考虑写入处理时温度和刷新处理判定时温度是否满足条件,则在排除标志中存储“真”。如果在预约刷新处理时考虑写入处理时温度和刷新处理判定时温度是否满足条件,则在排除标志中存储“假”。
163.在图14的例子中,将与芯片chip0的块blk0中的字线wl0至wl2和wl5至wl7相关联的六个排除标志设置为“假”,而将与字线wl3和wl4相关联的两个排除标志设置为“真”。参考该信息,存储器控制器30识别出:在判断是否为连接到芯片chip0的块blk0中的字线wl3和wl4的存储单元预约刷新处理时,不考虑写入处理时温度。
164.3.2温度管理信息更新处理
165.接着,将根据第三实施方式来描述存储器系统中的温度管理信息的更新处理的例子。
166.3.2.1第一例子
167.首先描述用于温度管理信息的更新处理的第一例子。在第一例子中,基于可能发生对写入目标区域的访问的状态,来设置排除标志。
168.图15是示出根据第三实施方式的存储器系统中的温度管理信息21b的更新处理的第一例子的流程图,并且对应于第二实施方式中的图12。
169.在步骤st51~st53中,存储器控制器30执行写入处理,并将与写入目标区域相对应的温度管理单位的写入处理时温度存储在温度管理信息21b中。由于步骤st51~st53的处理与第二实施方式的图12中所示的步骤st31~st33的处理相似,因此省略对其的描述。
170.在步骤st54中,存储器控制器30判断写入目标区域是否是仅在启动状态下发生对nand闪存10的访问(例如,写入处理、读取处理)的存储区域。
171.如果仅在写入目标区域中的启动状态下发生该访问(步骤st54;真),则处理转到步骤st55。在步骤st55中,存储器控制器30将与写入目标区域相对应的温度管理单位的排除标志设置为“真”。
172.另一方面,如果在写入目标区域中的空载状态和稳定状态下可能发生访问(步骤st54;假),则处理转到步骤st56。在步骤st56中,存储器控制器30将与写入目标区域相对应的温度管理单位的排除标志设置为“假”。
173.存储器控制器30可以预先区分以下数据:在稳定状态和空载状态下不发生访问(例如,仅在启动状态下发生访问)的数据、在稳定状态和空载状态下可能发生访问的数据。
然后,存储器控制器30可以将区分的数据存储在nand闪存10的不同存储区域中。换言之,存储器控制器30可以基于写入目标区域的地址,来设置与写入目标区域相对应的温度管理单位的排除标志。例如,假设在稳定状态和空载状态下不发生访问的数据是在通电读取处理中读取的系统数据。例如,假设在稳定状态和空载状态下不发生访问的存储区域是用于存储系统数据的系统数据区域。因此,存储器控制器30可以针对温度管理信息21b中管理的每个温度管理单位,基于写入目标区域的地址,判断温度管理单位是否是仅在启动状态下才会访问的存储区域。
174.至此,完成了温度管理信息21b的更新处理。
175.在步骤st54中,存储器控制器30还可以判断在稳定状态和空载状态下对写入目标区域的访问频度是否小于阈值。具体而言,如果对处于稳定状态和空载状态的写入目标区域的访问频度低于阈值(st54;真),则处理转到步骤st55。如果频度等于或高于阈值(st54;假),则处理转到步骤st56。通过上述操作,例如,如果以较低频度执行后台处理而不执行主机处理,则不预约刷新处理。假设以较低频度执行后台处理而不执行主机处理的示例,是例如定期或不定期执行的、用于确认是否正确读取数据的读取处理(即,巡逻(patrol)处理)等等。
176.在步骤st54中,存储器控制器30还可以根据写入目标区域的预期用途,来判断在写入目标区域中是否设置排除标志。具体而言,如果写入目标区域是用于存储假定在稳定状态和空载状态下以低频度访问的数据的存储区域(st54;真),则处理转到步骤st55。如果写入目标区域是用于存储假定以高频度访问的数据的存储区域(st54;假),则处理转到步骤st56。通过上述操作,存储器控制器30可以根据nand闪存10中预先设置的存储区域的预期用途,而不根据基于实际访问的访问频度,来判断是否设置排除标志(例如,在设计存储器控制器30时)。
177.3.2.2第二例子
178.接着,将描述用于温度管理信息的更新处理的第二例子。在第二例子中,基于写入模式来设置排除标志。具体而言,对于阈值电压分布之间的裕度(margin)相对较小的写入模式,将排除标志设置为“假”,而对于阈值电压分布之间的裕度相对较大的写入模式,将排除标志设置为“真”。
179.图16是示出根据第三实施方式的存储器系统中的温度管理信息21b的更新处理的第二例子的流程图。
180.在步骤st51~st53中,存储器控制器30执行写入处理,并将与写入目标区域对应的温度管理单位的写入处理时温度存储在温度管理信息21b中。由于步骤st51~st53的处理与第一例子的处理类似,因此省略对其的描述。
181.在步骤st54a中,存储器控制器30判断slc模式是否用于写入处理。
182.如果使用slc模式,即,如果将1比特数据写入存储单元晶体管mt中(步骤st54a;真),则处理转到步骤st55。在步骤st55中,存储器控制器30将与写入目标区域相对应的温度管理单位的排除标志设置为“真”。
183.另一方面,如果不使用slc模式,即如果在存储单元晶体管mt中写入2比特或更多比特的数据(步骤st54a;假),则处理转到步骤st56。在步骤st56中,存储器控制器30将与写入目标区域相对应的温度管理单位的排除标志设置为“假”。
184.至此,完成了温度管理信息21b的更新处理。
185.在上面所描述的图16的情况下,如果写入模式是slc模式,则存储器控制器30将排除标志设置为“真”;然而,本实施方式并不限于这种情况。例如,如果写入模式是slc模式或mlc模式,则存储器控制器30可以将排除标志设置为“真”。在这种情况下,如果写入模式是tlc模式或qlc模式,则存储器控制器30将排除标志设置为“假”。
186.3.3刷新预约判定处理
187.图17是示出根据第三实施方式的存储器系统中的刷新预约判定处理的流程图,并且对应于第二实施方式中的图13。图17中所示的刷新预约判定处理的步骤st61~st66,例如由存储器控制器30周期性地执行。
188.如图17中所示,在步骤st61中,存储器控制器30获取刷新处理判定时温度。由于获取刷新处理判定时温度的处理的细节与图13中的步骤st41的相似,因此省略对其的描述。
189.在步骤st62中,存储器控制器30参照温度管理信息21b,选择存储了其写入处理时温度的温度管理单位。
190.在步骤st63中,存储器控制器30判断在步骤st62中选择的温度管理单位的排除标志是否为“假”。如果排除标志为“假”(步骤st63;是),则处理转到步骤st64。如果排除标志为“真”(步骤st63;否),则处理转到步骤st66。
191.在步骤st64中,存储器控制器30确定在步骤st61中获取的刷新处理判定时温度与在步骤st62中选择的温度管理单位的写入处理时温度之间的差值是否等于或高于阈值tth3。由于基于阈值tth3的判断处理的细节与图13中的步骤st43的那些类似,因此省略对其的描述。
192.如果差值等于或大于阈值tth3(步骤st64;是),则处理转到步骤st65。如果差值小于阈值tth3(步骤st64;否),则省略步骤st65,并且该处理转到步骤st66。
193.在步骤st65中,存储器控制器30在刷新预约信息22中存储关于对包括步骤st62中选择的温度管理单位的块blk的刷新处理进行了预约的信息,从而预约刷新处理。
194.在步骤st66中,存储器控制器30判断是否已经选择了在温度管理信息21b中管理的所有温度管理单位。如果存在未被选择的温度管理单位(步骤st66;否),则处理返回到步骤st62。用此方式,重复步骤st62~st66,直到选择了所有温度管理单位。如果已经选择了所有温度管理单位(步骤st66;是),则完成刷新预约判定处理。
195.3.4本实施方式的效果
196.根据第三实施方式,在温度管理信息21b的更新处理中,存储器控制器30根据温度管理单位的地址来设置排除标志。在刷新预约判定处理中,即使刷新处理判定时温度和写入处理时温度满足条件,存储器控制器30也不为具有排除标志“真”的温度管理单位预约刷新处理。因此,即使是在低温状态下写入的数据,对于在阈值电压分布变化比低温状态更显著高温状态下没有读取的可能性的数据,也可以省略刷新处理的执行。因此,可以抑制由于执行刷新处理而增加后台处理的频率。因此,可以抑制存储器系统1响应来自主机设备2的请求的响应性能的降低。还可以避免当通过刷新处理在高温状态下重写的系统数据通过启动处理在启动状态下被读取时可能发生的损害读取数据的可靠性的风险。
197.4.第四实施方式
198.接着,将描述根据第四实施方式的存储器系统。第四实施方式与第一至第三实施
方式的不同之处在于,刷新预约判定处理中的判定标准根据nand闪存10的磨损程度而改变。在下文中,将省略与第二实施方式的配置和操作相同的配置和操作的描述,并且将主要描述与第二实施方式的配置和操作不同的配置和操作。
199.4.1刷新预约判定处理
200.图18是示出根据第四实施方式的存储器系统中的刷新预约判定处理的流程图,并且对应于第二实施方式中的图13。图18中所示的刷新预约判定处理的步骤st71~st77,例如由存储器控制器30周期性地执行。
201.如图18中所示,在步骤st71中,存储器控制器30获取刷新处理判定时温度。由于获取刷新处理判定时温度的处理的细节与图13中的步骤st41的相似,因此省略对其的描述。
202.在步骤st72中,存储器控制器30选择存储了其写入处理时温度的温度管理单位。
203.在步骤st73中,存储器控制器30判断在步骤st72中选择的温度管理单位的磨损程度是否等于或高于阈值weth。该磨损程度可以包括与阈值电压分布的偏移和扩展的容易程度相关的指标,并且可以是写和擦除(w/e)周期的数量,其也可以称为温度管理单位的编程和擦除(p/e)周期的数量。w/e周期的数量由存储器控制器30进行管理(例如,以块blk为单位)。
204.如果磨损程度低于阈值weth(步骤st73;否),则处理转到步骤st74。在步骤st74中,存储器控制器30判断在步骤st71中获取的刷新处理判定时温度与在步骤st72中选择的温度管理单位的写入处理时温度之间的差值是否等于或高于阈值tth3。
205.如果差值等于或大于阈值tth3(步骤st74;是),则该处理转到步骤st76。如果差值小于阈值tth3(步骤st74;否),则省略步骤st76,并且该处理转到步骤st77。
206.另一方面,如果磨损程度等于或高于阈值weth(步骤st73;是),则该处理转到步骤st75。在步骤st75中,存储器控制器30判断该差值是否等于或高于阈值tth4,其中阈值tth4小于阈值tth3(即,tth4《tth3)。
207.如果差值等于或大于阈值tth4(步骤st75;是),则处理转到步骤st76。如果差值小于阈值tth4(步骤st75;否),则省略步骤st76,并且该处理转到步骤st77。
208.在步骤st76中,存储器控制器30在刷新预约信息22中存储关于对包括步骤st72中选择的温度管理单位的块blk的刷新处理进行了预约的信息,从而预约刷新处理。
209.在步骤st77中,存储器控制器30判断是否已经选择了所有温度管理单位。如果存在未被选择的温度管理单位(步骤st77;否),则处理返回到步骤st72。用此方式,重复步骤st72~st77,直到选择了所有温度管理单位。如果已经选择了所有温度管理单位(步骤st77;是),则完成刷新预约判定处理。
210.在上面所描述的图18的情况下,即使磨损程度的值相对较低,也执行用于判断是否执行刷新预约的处理(步骤st74或st75);然而,该实施方式并不限于这种情况。例如,如果磨损程度低于阈值weth(步骤st73;否),则可以省略步骤st74,并且该处理可以转到步骤st77。
211.4.2本实施方式的效果
212.根据第四实施方式,随着磨损程度的增加,存储器控制器30将阈值tth设置为更小的值。因此,对于磨损程度较高的温度管理单位,当刷新处理预约判定时温度与写入处理时温度之间的差值较小时,存储器控制器30可以判定需要预约刷新处理。因此,即使对于阈值
电压分布容易因重复使用而发生偏移或扩散的温度管理单位,也可以在错误比特数超过ecc电路34的软判决解码的纠错能力之前的适当的时间预约刷新处理。因此,可以抑制数据可靠性的恶化。
213.5.修改
214.第一实施方式至第四实施方式并不限于上述的示例,并且可以以各种方式进行修改。
215.例如,在上面所描述的第一实施方式至第四实施方式中,在温度管理信息21的更新处理中,存储器控制器30获取由nand闪存10中的温度传感器15测量的温度;然而,这些实施方式并不限于该示例。存储器控制器30可以从例如nand闪存10的外部获取温度。例如,可以通过存储器控制器30内的模数转换器(adc)等等来获取温度。在这种情况下,存储器控制器30可以通过适当地校正获取的温度来估计nand闪存10中(特别是存储单元阵列17中)的温度,并且基于估计的温度来执行温度管理信息21的更新处理。
216.此外,在上面所描述的第一实施方式至第四实施方式中,温度管理单位是共同连接到字线wl的四个单元单位cu;然而,这些实施方式并不限于该示例。例如,温度管理单位可以是三个或更少的单元单位cu,或者可以是与多个字线wl相关联的五个或更多单元单位cu。与字线wl相关联的五个或更多单元单位cu也称为字线组。替代地,例如,温度管理单位可以是一个块blk或者多个块blk。如果温度管理单位是多个块blk,则同一温度管理单位中包含的块blk可以分别属于不同的芯片。此外,若温度管理单位是多个块blk,则同一温度管理单位所包含的块blk可以分别属于同一芯片chip内的不同平面pb。
217.作为温度管理单位的多个块blk可以是逻辑块blk。该逻辑块可以包括多个芯片chip上的块blk,并且包括构成块间奇偶校验的纠错帧。构成逻辑块的芯片chip中的一组对应的字线wl也称为逻辑字线。温度管理单位可以是与逻辑字线相关联的多个单元单位cu。温度管理单位也可以是与多个逻辑字线相关联的多个单元单位cu。与多个逻辑字线wl相关联的一组多个单元单位cu也称为逻辑字线组。
218.存储器控制器30可以将温度管理单位改变为如上所述的各种大小。因此,可以根据nand闪存10的状态,适当地调整温度管理信息21所需的存储容量和刷新处理的预订单位。
219.将第三实施方式和第四实施方式描述为应用于第二实施方式,但是也可以应用于第一实施方式。如果第四实施方式应用于第一实施方式,则在图17所示的步骤st74和st75中,存储器控制器30可以根据磨损程度,改变与刷新处理判定时温度进行比较所使用的阈值。具体而言,如果磨损程度低于阈值weth,则存储器控制器30判断刷新处理判定时温度是否等于或高于阈值tth2。如果磨损程度等于或高于阈值weth,则存储器控制器30判断刷新处理判定时温度是否等于或高于阈值tth5,其中阈值tth5低于阈值tth2(即,tth5《tth2)。
220.替代地,例如,在图17所示的步骤st74和st75中,存储器控制器30可以根据磨损程度,改变与写入处理时温度进行比较所使用的阈值。具体而言,如果磨损程度低于阈值weth,则存储器控制器30判断写入处理时温度是否等于或低于阈值tth1。如果磨损程度等于或高于阈值weth,则存储器控制器30判断写入处理时温度是否等于或低于阈值tth6,其中阈值tth6高于阈值tth1(即,tth6》tth1)。
221.此外,在上面所描述的第一实施方式至第四实施方式中,温度管理信息21和刷新
预约信息22存储在dram 20中;然而,这些实施方式并不限于此。例如,温度管理信息21和刷新预约信息22可以适当地以非易失性的方式存储在nand闪存10中,以避免由于意外断电而导致信息从存储器系统1中丢失的情况。.
222.在第一实施方式至第四实施方式中,2比特数据可以存储在单个存储单元晶体管mt中;然而,实施方式并不限于此,并且可以被配置为存储3比特数据、4比特数据、或5比特数据或者更多。
223.虽然已经描述了某些实施方式,但是这些实施方式仅仅是通过示例的方式给出,并不旨在限制本发明的保护范围。实际上,本文描述的实施方式可以以多种其它形式来体现;此外,在不脱离本发明的精神的情况下,可以对本文所描述的实施方式的形式进行各种省略、替换和改变。所附权利要求及其等同物旨在覆盖落入本发明的保护范围和精神内的这种形式或修改。
224.附图标记
225.1:存储器系统
226.2:外部主机设备
227.10:非易失性存储器
228.11:输入/输出电路
229.12:寄存器组
230.12a:状态寄存器
231.12b:地址寄存器
232.12c:命令寄存器
233.13:逻辑控制器
234.14:定序器
235.15:温度传感器
236.16:电压生成电路
237.17:存储单元阵列
238.18:行解码模块
239.19:读出放大器模块
240.20:易失性存储器
241.21:温度管理信息
242.22:刷新预约信息
243.30:存储器控制器
244.31:处理器(cpu)
245.32:缓冲存储器
246.33:主机接口电路
247.34:错误检查和纠正(ecc)电路
248.35:nand接口电路
249.36:dram接口电路
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1