非易失性半导体存储器的检查方法及存储检查程序的记录介质转让专利

申请号 : CN201310557298.1

文献号 : CN104064217B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 桥本大辅

申请人 : 东芝存储器株式会社

摘要 :

根据实施例,用于检查包含具备多个块的第1区域和第2区域的非易失性半导体存储器的检查方法,对上述第1区域所包含的每块执行包含第1至第6处理的第1检查处理。上述第1处理进行块删除,上述第2处理在上述第1处理之后,对进行了上述块删除的第1块进行数据写入,上述第3处理在上述第2处理之后,进行从上述第1块内的第2页面以外的多个第1页面读出数据的第1读出,上述第4处理在上述第3处理之后,进行从上述第2页面读出数据的第2读出,上述第5处理在上述第3处理中发生读出错误时,在上述第2区域记录表示发生了第1读出错误的事件,上述第6处理在上述第4处理中发生读出错误时,在上述第2区域记录表示发生了第2读出错误的事件。

权利要求 :

1.一种存储非易失性半导体存储器的检查程序的记录介质,其特征在于,上述非易失性半导体存储器按页面单位进行数据的写入,按上述页面单位的二以上的自然数倍的块单位进行数据的删除,包含具备多个块的第1区域和第2区域,上述程序构成为使用于控制上述非易失性半导体存储器的控制器执行第1检查处理,上述第1检查处理对上述第1区域所包含的每个块执行第1至第6处理,上述第1处理进行块删除,

上述第2处理在上述第1处理之后,对进行了上述块删除的第1块进行数据写入,上述第3处理在上述第2处理之后,进行从上述第1块内的第2页面以外的多个第1页面读出数据的第1读出,上述第4处理在上述第3处理之后,进行从上述第2页面读出数据的第2读出,上述第5处理在上述第3处理中发生读出错误时,在上述第2区域记录表示发生了第1读出错误的事件,上述第6处理在上述第4处理中发生读出错误时,在上述第2区域记录表示发生了第2读出错误的事件。

2.权利要求1所述的记录介质,其特征在于,

上述第1检查处理对上述第1区域所包含的每个块还执行:第7处理,在上述第1处理之前,从上述第1处理的块删除对象的块读出数据;和第8处理,在上述第7处理中发生读出错误时,在上述第2区域记录表示发生了第3读出错误的事件。

3.权利要求2所述的记录介质,其特征在于,

上述程序还使上述控制器执行:

上述第7处理中发生读出错误时,使上述第1检查处理结束的处理;和向能够与上述控制器连接的检查装置通知检查结束的处理。

4.权利要求1所述的记录介质,其特征在于,

上述第1检查处理对上述第1区域所包含的每个块还执行:第9处理,在上述第2处理之后且上述第3处理之前,从上述第1块读出数据;和第10处理,在上述第9处理中发生读出错误时,在上述第2区域记录表示发生了第4读出错误的事件。

5.权利要求1所述的记录介质,其特征在于,

上述第2页面的地址对上述第1区域所包含的每个块变更。

6.权利要求1所述的记录介质,其特征在于,

上述程序还使上述控制器执行:

第2检查处理,在上述第1检查处理之后,从上述第1检查处理的开始算起未经过预定时间时,对上述第1区域所包含的每个块执行上述第1至第6处理。

7.权利要求6所述的记录介质,其特征在于,

上述第2检查处理中的第2页面的地址不同于上述第1检查处理中的第2页面的地址。

8.权利要求1所述的记录介质,其特征在于,

上述非易失性半导体存储器还具备能够存储固件的固件区域,上述固件用于执行进行与主机装置的指示相应的工作的通常模式或不管主机装置的指示而进行试验的自检模式,上述程序使上述控制器执行:从上述非易失性半导体存储器读出上述固件,判定上述固件是否设定成上述通常模式或设定成上述自检模式的处理;和上述固件设定成上述自检模式时,执行上述第1检查处理的处理。

9.一种存储非易失性半导体存储器的检查程序的记录介质,其特征在于,上述非易失性半导体存储器按页面单位进行数据的写入,按上述页面单位的二以上的自然数倍的块单位进行数据的删除,包含具备多个块的第1区域和第2区域,上述程序构成为使用于控制上述非易失性半导体存储器的控制器执行第1检查处理,上述第1检查处理对上述第1区域所包含的每个块执行第1至第6处理,上述第1处理进行块删除,

上述第2处理在上述第1处理之后,对进行了上述块删除的第1块进行数据写入,上述第3处理在上述第2处理之后,进行从上述第1块读出数据的第1读出,上述第4处理在上述第3处理之后,进行从进行了上述块删除的块内的第1页面读出数据的第2读出,上述第5处理在上述第3处理中发生读出错误时,在上述第2区域记录表示发生了第1读出错误的事件,上述第6处理在上述第4处理中发生读出错误时,在上述第2区域记录表示发生了第2读出错误的事件。

10.一种用于检查非易失性半导体存储器的检查方法,其特征在于,上述非易失性半导体存储器按页面单位进行数据的写入,按上述页面单位的二以上的自然数倍的块单位进行数据的删除,包含具备多个块的第1区域和第2区域,其中,

上述检查方法使用于控制上述非易失性半导体存储器的控制器执行对上述第1区域所包含的每个块执行第1至第6处理的第1检查处理,上述第1处理进行块删除,

上述第2处理在上述第1处理之后,对进行了上述块删除的第1块进行数据写入,上述第3处理在上述第2处理之后,进行从上述第1块内的第2页面以外的多个第1页面读出数据的第1读出,上述第4处理在上述第3处理之后,进行从上述第2页面读出数据的第2读出,上述第5处理在上述第3处理中发生读出错误时,在上述第2区域记录表示发生了第1读出错误的事件,上述第6处理在上述第4处理中发生读出错误时,在上述第2区域记录表示发生了第2读出错误的事件。

11.权利要求10所述的检查方法,其特征在于,

上述第1检查处理对上述第1区域所包含的每个块还具备:第7处理,在上述第1处理之前,从上述第1处理的块删除对象的块读出数据;和第8处理,在上述第7处理中发生读出错误时,在上述第2区域记录表示发生了第3读出错误的事件。

12.权利要求11所述的检查方法,其特征在于,还具备:上述第7处理中发生读出错误时,使上述第1检查处理结束的处理;和向能够与上述控制器连接的检查装置通知检查结束的处理。

13.权利要求10所述的检查方法,其特征在于,

上述第1检查处理对上述第1区域所包含的每个块还具备:第9处理,在上述第2处理之后且上述第3处理之前,从上述第1块读出数据;和第10处理,在上述第9处理中发生读出错误时,在上述第2区域记录表示发生了第4读出错误的事件。

14.权利要求10所述的检查方法,其特征在于,

上述第2页面的地址对上述第1区域所包含的每个块变更。

15.一种存储非易失性半导体存储器的检查程序的记录介质,其特征在于,上述非易失性半导体存储器按页面单位进行数据的写入,按上述页面单位的二以上的自然数倍的块单位进行数据的删除,包含具备多个块的第1区域和第2区域,上述块具备多个存储串,上述多个存储串的各个中,多个存储单元串联连接且共有电荷蓄积层,上述程序构成为使用于控制上述非易失性半导体存储器的控制器执行第1至第6处理,上述第1处理对上述第1区域所包含的每个块进行删除,上述第2处理将上述块的上述存储串内相互不相邻的多个存储单元作为第1组,从上述块选择,上述第3处理将上述块的上述存储串内上述第1组以外的多个存储单元作为第2组,从上述块选择,上述第4处理对上述第1组进行写入,

上述第5处理在上述写入之后,进行上述块的读出,

上述读出包含:检测错误位的处理;读出错误发生时在上述第2区域记录表示发生了读出错误的事件的处理。

16.权利要求15所述的记录介质,其特征在于,

上述读出对上述第1组及上述第2组的至少一方进行。

17.权利要求15所述的记录介质,其特征在于,

上述存储单元通过表示删除了数据的删除状态的阈值电压分布和比表示上述删除状态的阈值电压分布高且表示写入了数据的写入状态的1个以上的阈值电压分布,可以存储1个以上的位的数据,上述写入采用上述1个以上的阈值电压分布中最高的阈值电压分布对应的数据。

18.权利要求15所述的记录介质,其特征在于,

上述非易失性半导体存储器还具备能够存储固件的固件区域,上述固件用于执行进行与主机装置的指示相应的工作的通常模式或不管主机装置的指示而进行试验的自检模式,上述程序使上述控制器执行:从上述非易失性半导体存储器读出上述固件,判定上述固件设定成上述通常模式或设定成上述自检模式的处理;和上述固件设定成上述自检模式时,执行上述删除、上述写入及上述读出的处理。

19.一种用于检查非易失性半导体存储器的检查方法,其特征在于,上述非易失性半导体存储器按页面单位进行数据的写入,按上述页面单位的二以上的自然数倍的块单位进行数据的删除,包含具备多个块的第1区域和第2区域,上述块具备多个存储串,上述多个存储串的各个中,多个存储单元串联连接且共有电荷蓄积层,上述检查方法使用于控制上述非易失性半导体存储器的控制器执行:对上述第1区域所包含的每个块进行删除的处理;

将上述块的上述存储串内相互不相邻的多个存储单元作为第1组,从上述块选择的处理;

将上述块的上述存储串内上述第1组以外的多个存储单元作为第2组,从上述块选择的处理;

对上述第1组进行写入的处理;

上述写入之后,进行上述块的读出的处理,

上述读出包含:检测错误位的处理;读出错误发生时在上述第2区域记录表示发生了读出错误的事件的处理。

20.权利要求19所述的检查方法,其特征在于,

上述读出对上述第1组及上述第2组的至少一方进行。

说明书 :

非易失性半导体存储器的检查方法及存储检查程序的记录

介质

[0001] 相关申请
[0002] 本申请享受以美国专利临时申请61/803932号(申请日:2013年3月21日)作为基础申请的优先权。本申请通过参照该基础申请,包含基础申请的全部内容。

技术领域

[0003] 本发明的实施例涉及非易失性半导体存储器的检查方法及存储检查程序的记录介质。

背景技术

[0004] 作为个人计算机等信息处理装置的外部存储装置,除了HDD(Hard Disk Drive:硬盘驱动器)以外,采用SSD(Solid State Drive:固态驱动器)。SSD具备NAND型闪速存储器,作为非易失性半导体存储器。
[0005] 例如,在与HDD相同的环境下使用SSD时,若数据的改写频发,则SSD会被磨损(wear-out)。因此,若产品出厂前的筛选(screening)不充分,则产品出厂后的故障率(failure rate)增加。
[0006] 另外,为了提高SSD的可靠性,考虑在筛选步骤(screening process)中对SSD反复进行数据的改写。但是,进行这样的筛选时,检查时间及检查成本增大。

发明内容

[0007] 本发明的实施例提供可降低非易失性半导体存储器的检查时间及检查成本的检查方法。
[0008] 本发明的一例实施例是一种存储非易失性半导体存储器的检查程序的记录介质,上述非易失性半导体存储器按页面单位进行数据的写入,按上述页面单位的二以上的自然数倍的块单位进行数据的删除,包含具备多个块的第1区域和第2区域,
[0009] 上述程序构成为使用于控制上述非易失性半导体存储器的控制器执行第1检查处理,
[0010] 上述第1检查处理对上述第1区域所包含的每个块执行第1至第6处理,
[0011] 上述第1处理进行块删除,
[0012] 上述第2处理在上述第1处理之后,对进行了上述块删除的第1块进行数据写入,[0013] 上述第3处理在上述第2处理之后,进行从上述第1块内的第2页面以外的多个第1页面读出数据的第1读出,
[0014] 上述第4处理在上述第3处理之后,进行从上述第2页面读出数据的第2读出,
[0015] 上述第5处理在上述第3处理中发生读出错误时,在上述第2区域记录表示发生了第1读出错误的事件,
[0016] 上述第6处理在上述第4处理中发生读出错误时,在上述第2区域记录表示发生了第2读出错误的事件。

附图说明

[0017] 图1是第1实施例的存储系统的方框图。
[0018] 图2是NAND型闪速存储器的方框图。
[0019] 图3是NAND存储芯片的方框图。
[0020] 图4是存储单元阵列的方框图。
[0021] 图5是存储单元阵列所包含的一个平面的电路图。
[0022] 图6是2位数据和存储单元的阈值电压分布的关系示图。
[0023] 图7是SSD的启动次序的流程图。
[0024] 图8是电源装置的示意图。
[0025] 图9是恒温槽及电源装置的示意图。
[0026] 图10是第1实施例的筛选工作的流程图。
[0027] 图10A是筛选工作的流程图。
[0028] 图11是读出工作的流程图。
[0029] 图12是读出工作的流程图。
[0030] 图13是页面的读出顺序的说明图。
[0031] 图14是页面的读出顺序的说明图。
[0032] 图15是页面地址和周期的关系的说明图。
[0033] 图16是页面地址和周期编号的关系的说明图。
[0034] 图17是筛选日志的一例示图。
[0035] 图18是筛选日志的一例示图。
[0036] 图19是筛选的全体步骤的流程图。
[0037] 图20是筛选的全体步骤的流程图。
[0038] 图21是筛选的全体步骤的流程图。
[0039] 图22是检查装置的示意图。
[0040] 图23是筛选步骤后检查的流程图。
[0041] 图24是读取干扰故障发生次数的分布示图。
[0042] 图25是产品出厂前处理的处理内容的说明图。
[0043] 图26是第2实施例的通常模式和自由运行模式的切换工作的状态迁移图。
[0044] 图27是第3实施例的通常模式和自由运行模式的切换工作的状态迁移图。
[0045] 图28是第4实施例的读出工作的流程图。
[0046] 图29是第4实施例的读出工作的流程图。
[0047] 图30是第5实施例的筛选工作的流程图。
[0048] 图31是读出工作的流程图。
[0049] 图32是读出工作的流程图。
[0050] 图33是页面的读出顺序的说明图。
[0051] 图34是存储单元阵列的部分立体图。
[0052] 图35是存储单元阵列的部分电路图。
[0053] 图36是存储单元的截面图。
[0054] 图37是第6实施例的SSD的筛选工作的流程图。
[0055] 图37A是SSD的筛选工作的流程图。
[0056] 图38是编写工作的说明图。
[0057] 图39是编写工作的说明图。
[0058] 图40是读出工作的流程图。
[0059] 图41是筛选的全体步骤的流程图。

具体实施方式

[0060] 以下,参照附图说明本发明的实施例。另外,以下的说明中,具有同一功能及构成的要素附上同一符号,仅仅在必要时进行重复说明。
[0061] 各功能块可以通过组合硬件、计算机软件之一或两者来实现。因而,为了明确这些功能块,主要根据这些功能的观点说明如下。这样的功能是作为硬件或软件执行依赖于具体的实施形态或对全体系统的设计制约。本专业技术人员可以按具体的实施形态用各种方法实现这些功能,这些实现手法也是实施例的范畴所包含的。另外,各功能块不必如以下的具体例那样区别。例如,部分功能也可以由不同于以下的说明中例示的功能块的其他功能块执行。而且,例示的功能块也可以进一步分割为更细的功能子块。由哪个功能块特定并不限定实施例。
[0062] [第1实施例]
[0063] [1.存储系统的构成]
[0064] 图1是第1实施例的存储系统1的构成方框图。存储系统1具备非易失性半导体存储装置3。非易失性半导体存储装置3是即使切断电源也不会丢失数据的非易失性存储器(非暂时的存储器),本实施例中,作为非易失性半导体存储装置3,举例说明NAND型闪速存储器。另外,作为存储系统1,举例说明具备NAND型闪速存储器的SSD(Solid State Drive:固态驱动器)。
[0065] SSD1经由接口11及电源线12与主机装置10(信息处理装置)连接。主机装置10例如由个人计算机、CPU核或者与网络连接的服务器等构成。主机装置10对SSD1执行数据存取控制,例如,通过向SSD1发送写入请求、读出请求及删除请求,对SSD1执行数据的写入、读出及删除。
[0066] SSD1具备SSD控制器(存储装置控制部)2、NAND型闪速存储器3、接口控制器(接口部)4及电源供给部5。SSD控制器2、接口控制器4及NAND型闪速存储器3通过总线6相互连接。
[0067] 电源供给部5通过电源线12与主机装置10连接,接受从主机装置10供给的外部电源。电源供给部5和NAND型闪速存储器3通过电源线7a连接,电源供给部5和SSD控制器2通过电源线7b连接,电源供给部5和接口控制器4通过电源线7c连接。电源供给部5对外部电源进行升压及降压,生成各种电压,向SSD控制器2、NAND型闪速存储器3及接口控制器4供给各种电压。
[0068] 接口控制器4通过接口11与主机装置10连接。接口控制器4执行与主机装置10的接口处理。作为接口11,采用SATA(Serial Advanced Technology Attachment:串行高级技术附件)、PCI Express(Peripheral Component Interconnect Express:高速外设部件互连)、SAS(Serial Attached SCSI:串行连接SCSI)、USB(Universal Serial Bus:通用串行总线)等。本实施例中,作为接口11,以采用SATA场合的例子进行说明。
[0069] NAND型闪速存储器3非易失地存储数据。在NAND型闪速存储器3的物理地址空间,确保存储固件(FW)的FW区域3A、存储管理信息的管理信息区域3B、存储用户数据的用户区域3C、存储例如测试步骤时的各种日志的筛选日志区域3E。NAND型闪速存储器3的电路构成将后述。
[0070] SSD控制器2控制SSD1的各种工作。SSD控制器2通过执行在NAND型闪速存储器3的FW区域3A存储的固件的处理器和各种硬件电路等来实现其功能,执行针对来自主机装置10的写请求、缓存刷新请求、读请求等的各种指令的主机装置10-NAND型闪速存储器3间的数据转送控制、在RAM2A及NAND型闪速存储器3存储的各种管理表的更新·管理、筛选处理等。SSD控制器2从电源线7b接受电源后,从FW区域3A读出固件,然后,根据读出固件进行处理。
SSD控制器2具备作为缓存区及操作区的RAM2A和ECC(Error Checking and Correcting:错误检测和校正)电路2B。
[0071] RAM2A由DRAM(Dynamic Random Access Memory:动态随机存取存储器)、SRAM(Static Random Access Memory:静态随机存取存储器)等的易失性RAM,或MRAM
(Magnetoresistive  Random Access  Memory:磁阻随机存取存储器)、FeRAM
(Ferroelectric Random Access Memory:铁电随机存取存储器)、ReRAM(Resistance Random Access Memory:电阻随机存取存储器)、PRAM(Phase-change Random Access Memory:相变随机存取存储器)等的非易失性RAM构成。
[0072] ECC电路2B在数据写入时,对写入数据生成纠错码,将该纠错码附加到写入数据,发送到NAND型闪速存储器3。另外,ECC电路2B在数据读出时,对读出数据,采用读出数据所包含的纠错码进行检错(错误位检测)及纠错。ECC电路2B的ECC编码、ECC解密采用例如Bose-Chaudhuri-Hocquenghem(BCH)码、Reed-Solomon(RS)码、Low-Density Parity-Check(LDPC)码。电路2B也可以是采用Cyclic Redundancy Check(CRC)码进行检错的CRC电路2B。
[0073] 图2是NAND型闪速存储器3的构成方框图。NAND型闪速存储器3具备一个以上的NAND存储芯片20。图3是NAND存储芯片20的构成方框图。
[0074] 存储单元阵列22由可电改写数据的存储单元矩阵状配置而成。在存储单元阵列22配设了多个位线、多个字线及共用源极线。在位线和字线的交差区域,配置存储单元。
[0075] 作为行解码器的字线控制电路25与多个字线连接,在数据的读出、写入及删除时,进行字线的选择及驱动。位线控制电路23与多个位线连接,在数据的读出、写入及删除时,控制位线的电压。另外,位线控制电路23在数据读出时检知位线的数据,在数据写入时向位线施加与写入数据相应的电压。列解码器24根据地址,生成用于选择位线的列选择信号,向位线控制电路23发送该列选择信号。
[0076] 从存储单元阵列22读出的读出数据经由位线控制电路23、数据输入输出缓冲器29从数据输入输出端子28向外部输出。另外,从外部向数据输入输出端子28输入的写入数据经由数据输入输出缓冲器29,向位线控制电路23输入。
[0077] 存储单元阵列22、位线控制电路23、列解码器24、数据输入输出缓冲器29及字线控制电路25与控制电路26连接。控制电路26根据从外部向控制信号输入端子27输入的控制信号,生成用于控制存储单元阵列22、位线控制电路23、列解码器24、数据输入输出缓冲器29及字线控制电路25的控制信号及控制电压。NAND存储芯片20中,与存储单元阵列22以外的部分一起称为存储单元阵列控制部(NAND控制器)21。
[0078] 图4是存储单元阵列22的构成方框图。存储单元阵列22具备一个或多个平面(plane)(或District)。图4中,例示了存储单元阵列22具备2个平面(平面0及平面1)的情况。各平面具备多个块BLK。各块BLK由多个存储单元构成,以该块BLK为单位,删除数据。
[0079] 图5是存储单元阵列22所包含的一个平面的构成的电路图。平面所包含的各块BLK具备多个NAND单位。各NAND单位由串联的多个存储单元MC组成的存储串MS和其两端连接的选择栅(select gate)S1、S2构成。选择栅S1与位线BL连接,选择栅S2与共用源极线SRC连接。同一行配置的存储单元MC的控制栅极与字线WL0~WLm-1之一共同连接。另外,选择栅S1与选择线SGD共同连接,选择栅S2与选择线SGS共同连接。
[0080] 存储单元(存储单元晶体管)由具备在半导体基板的P型阱区上形成的层叠栅极构造的MOSFET(Metal Oxide Semiconductor Field Effect Transistor:金属氧化物半导体场效应晶体管)构成。层叠栅极构造包含:在P型阱区上隔着栅极绝缘膜形成的电荷蓄积层(浮置栅极)和在浮置栅极上隔着栅极间绝缘膜形成的控制栅极。存储单元根据在浮置栅极蓄积的电子数,使阈值电压(threshold voltage)变化,根据该阈值电压的差异,存储数据。
[0081] 本实施例中,说明了各个存储单元使用上位页面(upper page)及下位页面(lower page)进行2bit/cell的4值(4-level)存储方式的情况,但是,即使是各个存储单元使用单一页面进行1bit/cell的2值(2-level)存储方式或使用上位页面、中位页面及下位页面进行3bit/cell的8值(8-level)存储方式的情况,或者采用4bit/cell以上的多值(multi-level)存储方式的情况下,本实施例的本质也不变。存储单元不限于具有浮置栅极的构造,也可以是MONOS(Metal-Oxide-Nitride-Oxide-Silicon)型等通过在作为电荷蓄积层的氮化界面捕获电子而使阈值电压变化的构造。MONOS型的存储单元也同样,可以构成为存储1位,也可以构成为存储多值(multi-level)。也可以是美国专利8,189,391号说明书、美国专利申请公开第2010/0207195号说明书、美国专利申请公开第2010/0254191号说明书记述的3维地配置了存储单元的非易失性半导体存储器。
[0082] 一个字线连接的多个存储单元构成一个物理扇区。按物理扇区写入数据并读出数据。另外,物理扇区可以与主机装置管理的LBA(Logical Block Addressing)的逻辑扇区无关地进行定义。物理扇区的尺寸可以与逻辑扇区的尺寸相同,也可以不同。为本实施例的2bit/cell写入方式(4-level)的场合,一个物理扇区存储2页面量的数据。另外,为1bit/cell写入方式(2-level)的场合,一个物理扇区存储1页面量的数据,为3bit/cell写入方式(8-level)的场合,一个物理扇区存储3页面量的数据。
[0083] 读出工作、验证工作及写入(编写)工作时,NAND控制器21根据从SSD控制器2接收的物理地址,选择一个字线,选择一个物理扇区。该物理扇区内的页面的切换通过物理地址进行。作为物理地址的例,有Row Address。本实施例中,也将写入表述为编写,但是写入和编写同义。为2bit/cell写入方式的场合,SSD控制器2向物理扇区分配上位页面(Upper Page)及下位页面(Lower Page)的2个页面,对这些全部页面分配物理地址。为2bit/cell写入方式的场合,一个存储单元中的阈值电压构成为具有4种分布。
[0084] 图6是2位数据(数据“11”,“01”,“10”,“00”)和存储单元的阈值电压分布的关系的示图。VA1是从仅仅下位页面已经写入而上位页面未写入的物理扇区读出2个数据时向选择字线施加的电压。VA1V是向阈值电压分布A1进行写入时,为了确认写入是否结束而向选择字线施加的验证电压。
[0085] VA2、VB2、VC2是从下位页面及上位页面已经写入的物理扇区读出4个数据时向选择字线施加的电压。VA2V、VB2V、VC2V是向各阈值电压分布进行写入时,为了确认写入是否结束而向选择字线施加的验证电压。Vread1、Vread2是进行数据读出时,向非选择存储单元施加,不管其保持数据如何都使该非选择存储单元导通的读出电压。
[0086] Vev、Vev1、Vev2是删除存储单元的数据时,为了确认该删除是否结束而向存储单元施加的删除验证电压。本实施例中Vev、Vev1、Vev2具有负的值。
[0087] 各验证电压的大小考虑相邻存储单元的干涉的影响而确定。
[0088] 上述的各电压的大小关系如下。
[0089] Vev1<VA1<VA1V<Vread1
[0090] Vev2<VA2<VA2V<VB2<VB2V<VC2<VC2V<Vread2
[0091] 本实施例中,删除验证电压Vev、Vev1、Vev2为负的值,但是实际的删除验证工作中向存储单元的控制栅极施加的电压不是负的值,是零或正的值。即,实际的删除验证工作中,向存储单元的背面栅极施加正的电压,向存储单元的控制栅极施加零或比背面栅极电压小的正的电压。换言之,删除验证电压Vev、Vev1、Vev2是等价地具有负的值的电压。
[0092] 本实施例中,块删除后的存储单元的阈值电压分布ER的上限值也是负的值,分配了数据“11”。下位页面及上位页面写入状态的数据“01”、“10”、“00”的存储单元分别具有正的阈值电压分布A2、B2、C2(A2、B2、C2的下限值也是正的值)。数据“01”的阈值电压分布A2的电压值最低,数据“00”的阈值电压分布C2的电压值最高,各种阈值电压分布的电压值具有A2
[0093] 图6所示阈值电压分布只是一例,本实施例不限于此。例如,图6中,说明了阈值电压分布A2、B2、C2全部为正的阈值电压分布,但是,阈值电压分布A2为负的电压分布,阈值电压分布B2、C2为正的电压分布的情况也是本实施例的范围所包含的。另外,阈值电压分布ER1、ER2即使设为正的值,本实施例也不限于此。另外,本实施例中,ER2、A2、B2、C2的数据的对应关系分别设为“11”、“01”、“10”、“00”,但是,例如也可以分别设为“11”、“01”、“00”、“10”的其他对应关系。
[0094] 一个存储单元的2位数据由下位页面数据和上位页面数据组成,下位页面数据和上位页面数据通过分别的写入工作即2次的写入工作,向存储单元写入。数据表述为“XY”时,“X”表示上位页面数据,“Y”表示下位页面数据。
[0095] 首先,参照图6的第1段~第2段说明下位页面数据的写入。下位页面数据的写入根据SSD控制器2向NAND控制器21输入的写入数据(下位页面数据)进行。删除状态的存储单元具有删除状态的阈值电压分布ER,存储数据“11”。NAND控制器21向删除状态的存储单元进行下位页面数据的写入时,存储单元的阈值电压分布ER根据下位页面数据的值(“1”或者“0”),分为2个阈值电压分布(ER1,A1)。下位页面数据的值为“1”的场合,NAND控制器21不向存储单元的隧道氧化膜施加高电场,防止存储单元的阈值电压Vth的上升。结果,删除状态的阈值电压分布ER被维持,因此ER1=ER,但是ER1>ER也可以。
[0096] 另一方面,下位页面数据的值为“0”的场合,NAND控制器21向存储单元的隧道氧化膜施加高电场,向浮置栅极注入电子,使存储单元的阈值电压Vth上升预定量。具体地说,NAND控制器21设定验证电压VA1V,反复进行写入工作,直到成为该验证电压VA1V以上的阈值电压为止。结果,存储单元变化为写入状态(数据“10”)。即使写入工作反复预定次数也无法达到预定的阈值电压时(或未达到预定的阈值电压的存储单元数在预定值以上时),对该物理页面的写入成为“写入错误”,NAND控制器21向SSD控制器2通知写入错误。
[0097] 接着,参照图6的第2段~第3段说明上位页面数据的写入。上位页面数据的写入根据SSD控制器2向NAND控制器21输入的写入数据(上位页面数据)和已经向存储单元写入的下位页面数据进行。
[0098] 即,上位页面数据为“1”时,NAND控制器21不向存储单元的隧道氧化膜施加高电场,防止存储单元的阈值电压Vth的上升。结果,数据“11”(删除状态的阈值电压分布ER1)的存储单元原样维持数据“11”(阈值电压分布ER2),数据“10”(阈值电压分布A1)的存储单元原样维持数据“10”(阈值电压分布B2)。但是,为了确保各分布间的电压余量的目的,NAND控制器21采用比上述的验证电压VA1V大的正的验证电压VB2V,调节阈值电压分布的下限值,从而,期望形成使阈值电压分布的宽度变狭的阈值电压分布B2。NAND控制器21即使按预定次数反复调节下限值也无法达到预定的阈值电压时(或未达到预定的阈值电压的存储单元数为预定值以上时),对该物理页面的写入(program operation)成为“写入错误”,NAND控制器21向SSD控制器2通知写入错误。
[0099] 另一方面,上位页面数据的值为“0”时,NAND控制器21向存储单元的隧道氧化膜施加高电场,向浮置栅极注入电子,使存储单元的阈值电压Vth上升预定量。具体地说,NAND控制器21设定验证电压VA2V、VC2V,反复进行写入工作直到成为该验证电压VA2V、VC2V以上的阈值电压为止。结果,数据“11”(删除状态的阈值电压分布ER1)的存储单元变化为阈值电压分布A2的数据“01”,数据“10”(阈值电压分布A1)的存储单元变化为阈值电压分布C2的数据“00”。NAND控制器21即使按预定次反复写入工作也无法达到预定的阈值电压时(或未达到预定的阈值电压的存储单元数在预定值以上时),对该物理页面的写入成为“写入错误”,NAND控制器21向SSD控制器2通知写入错误。
[0100] 删除工作(erase operation)中,NAND控制器21设定删除验证电压Vev,反复进行删除工作直到成为该删除验证电压Vev以下的阈值电压为止。结果,存储单元变化为删除状态(数据“11”)。NAND控制器21即使预定次数反复进行删除工作也无法成为预定的阈值电压以下时(或未成为预定的阈值电压以下的存储单元数在预定值以上时),对该物理页面的删除成为“删除错误”(erase error),NAND控制器21向SSD控制器2通知删除错误。
[0101] 以上是一般的4值(4-level)存储方式中的数据写入方式的一例。3bit/cell以上的多值(multi-level)存储方式中,也仅仅是向上述的工作还添加了根据上位的页面数据将阈值电压分布分割为8种以上的工作,因此基本的工作同样。
[0102] (读取干扰)(read disturb)
[0103] 如上所述,SSD控制器2从NAND型闪速存储器3进行数据的读出时,NAND控制器21通过向非选择存储单元施加Vread1、Vread2,不管其保持数据如何都使非选择存储单元导通,进行选择存储单元的读出。为了足够大到使非选择存储单元导通且足够小到不会改写非选择存储单元的保持数据的程度,Vread1及Vread2期望作为NAND控制器21的设计参数在开发时确定,或者,作为NAND存储芯片20的制造时参数,在制造时写入NAND存储芯片20内的ROM FUSE区域。
[0104] 对同一块多次进行读出时,对非选择存储单元的隧道氧化膜多次施加电场。结果,向非选择存储单元的浮置栅极注入电子,阈值电压变动,非选择存储单元的保持数据可能被破坏。这样的读出工作时的非选择存储单元的阈值电压变动称为读取干扰,其导致的非选择存储单元的数据破坏称为读取干扰故障(read disturb failure)(读取干扰错误(read disturb error))。读取干扰故障的故障率容易受到存储单元的隧道氧化膜、浮置栅极的状态的影响,对每个块、NAND存储芯片,故障率可能大幅变动。因而,通过在SSD出厂前检测读取干扰故障率高的块并设为坏块而防止该块以后被SSD控制器2访问是重要的。另外,优选将读取干扰故障率高的SSD判定为故障产品而不出厂。
[0105] [2.SSD1的工作]
[0106] 接着,说明SSD1的各种工作。首先,说明SSD1的启动次序。
[0107] NAND型闪速存储器3的FW区域3a存储的固件具备可执行至少通常模式(normal mode)和自由运行模式(self-test mode,自检模式)的2个模式的固件。通常模式是指执行与用户、主机装置10的指示相应的工作的模式。通常模式包含通常的读出工作、写入工作、删除工作。自由运行模式是指不从SSD1的外部操作而由SSD1自动执行特定的工作的模式。
该特定的工作处理通过由SSD控制器执行自由运行模式用的固件而实现。
[0108] 图7是SSD1的启动次序(power on sequence)的流程图。首先,从外部经由电源线12向SSD1供给外部电压。电源供给部5向电源线7a~7c供给各种电压(步骤S100)。电源线7a达到预定电压后(步骤S101),SSD控制器2启动(步骤S102)。
[0109] SSD控制器2读出在NAND型闪速存储器3的FW区域3a存储的固件(步骤S103)。SSD控制器2在从FW区域3a读出的固件是通常模式状态的场合(步骤S104),随后根据固件执行通常模式。另外,SSD控制器2在从FW区域3a读出的固件是自由运行模式状态的场合(步骤S105),随后根据固件执行自由运行模式。另外,SSD控制器2在FW区域3a为通常模式及自由运行模式以外的其他模式状态的场合,随后执行与固件相应的其他模式。
[0110] 例如,也可以采用通常模式专用固件和自由运行模式专用固件的2种。主机装置10、后述的检查装置100通过经由接口11改写在FW区域3A存储的固件,可以在通常模式专用固件和自由运行模式专用固件之间切换。例如,主机装置10、检查装置100向SSD控制器2发送ATA/ATAPI Command Set-3(ACS-3)(http://www.t13.org/)记载的遵从INCITS ACS-3的指令即92h DOWNLOAD MICROCODE指令、93h DOWNLOAD MICROCODE DMA指令及自由运行模式专用固件映像后,SSD控制器2将在FW区域3A存储的通常模式专用固件改写为自由运行模式专用固件。例如,主机装置10、检查装置100向SSD控制器2发送92h DOWNLOAD MICROCODE指令、93h DOWNLOAD MICROCODE DMA指令及通常模式专用固件映像后,SSD控制器2将FW区域
3A存储的自由运行模式专用固件改写为通常模式专用固件。或者,固件也可以由遵从
INCITS ACS-3的SCT指令、其他供应商独自的指令来改写。
[0111] 或者,通常模式和自由运行模式也可以采用共用的固件。该场合,除了固件以外,FW区域3a还存储触发信息。触发信息存储固件应该以通常模式和自由运行模式中的哪个模式执行的信息。按启动次序,SSD控制器2读出固件并执行时,SSD控制器2从FW区域3a读出触发信息,以通常模式和自由运行模式中任一方的模式执行固件。SSD控制器2通过改写触发信息,可设定下一次启动次序时要执行固件的模式。主机装置10、后述的检查装置100可通过例如遵从INCITS ACS-3的SCT指令、其他供应商独自的指令向SSD控制器2请求触发信息的改写。
[0112] [3.筛选工作]
[0113] 接着,说明本实施例的测试方法(筛选工作)。自由运行模式开始后,SSD控制器2执行NAND型闪速存储器3的筛选工作(NAND筛选)。NAND筛选是指在反复进行块的删除、编写及读出的同时,使NAND型闪速存储器3老化(摩耗(wear-out)),使可能会初始故障(initial failure)的块在出厂前发生故障(促进可靠性)。SSD控制器2通过将检测到删除错误、写入错误及ECC不能纠正的错误(读出错误)等的故障的块设为坏块(在坏块管理表3D登记),预防用户使用将来可能会成为故障原因的块。SSD控制器、检查装置100通过报告并记录检查结果,将上述错误多的SSD判定为故障而不推向市场,可预防用户使用故障率高的SSD。
[0114] 以自由运行模式工作的NAND筛选中,不需要主机装置10,因此,从降低NAND筛选装置的成本的观点看,期望在NAND筛选中,如图8,使得仅仅电源装置40与SSD1连接。具体地说,SSD1经由电源线12与电源装置40连接。接口11与外部不连接。这样,作为SSD1用的外部电源,仅仅准备便宜的电源装置40即可执行NAND筛选。
[0115] 另外,如图9所示,用同一设备筛选多个SSD1从成本、测试步骤的生产率(测试步骤的处理能力)的改善的观点看是优选的。多个SSD1经由电源线12与电源装置40连接。多个SSD1及电源装置40收纳在恒温槽41。恒温槽41可将内部设定成预定的温度。通过采用这样的装置将多个SSD1一次筛选,可以减少筛选时间,并降低筛选成本。由于可由单一设备进行多个SSD1的筛选,因此工厂的设备专用面积也可削减。
[0116] 优选的是,SSD控制器2经由电源线12内的信号线将筛选的状态、结果通知电源装置40。作为通知筛选的状态、结果的信号线的例,本实施例中,将电源线12内的DAS/DSS(Device Activity Signal/Disable Staggered Spinup)信号线用于筛选的状态和结果的通知。例如,DAS/DSS信号线与LED42电连接。SSD控制器2通过经由DAS/DSS信号线控制LED42,可以向进行SSD1的制造的操作部通知筛选的状态、结果。或者,也可以由恒温槽41电处理从DAS/DSS信号线接收的信号,使SSD1的筛选步骤的状态、结果在例如恒温槽41连接的液晶显示器显示。操作部可以是人,也可以是机械。
[0117] 图10是SSD1的筛选工作的流程图。自由运行模式开始后,SSD控制器2执行筛选步骤。
[0118] 首先,SSD控制器2将管理筛选步骤完毕的块的列表(处理完毕列表)清空(步骤S300)。该处理完毕列表在SSD控制器2内的RAM2A存储。接着,SSD控制器2从NAND型闪速存储器3的用户区域3C选择一个块(步骤S301)。块选择例如可以在(1)自由运行模式开始后,选择块地址=0的块,然后通过反复执行“块地址+1”而顺序地选择块,也可以(2)随机选择块。
随机的块选择方法例如可由SSD控制器2作成使块地址随机排列的块地址列表,在自由运行模式开始后选择块地址列表开头的块,然后通过反复执行“块地址列表行数+1”而顺序地选择块地址列表来实现。
[0119] (预读)
[0120] 为了更高效筛选(测试)故障块、故障NAND存储器,优选在步骤301的块选择和步骤S303的删除工作间,由SSD控制器2对选择块进行称为预读(Pre-read)的删除前读出(步骤S302)。也可以不预读S302而转移到删除S303,但是为了提高故障的检测率,优选进行预读S302。该步骤S302用于检测访问某块时其他块的数据被破坏的故障。作为这样的故障,例如有存储单元阵列22的周边电路的故障、布线故障等。
[0121] 例如对某循环(周期)处理完毕的块(测试结束块),有通过同一循环或后续的循环中对其他块的访问而误写入数据的情况(误写入故障)。若不实施预读,则该误写入的块的后续的循环的处理从数据删除开始,误写入数据被删除,因此无法检测这样的误写入。另一方面,若实施预读,则可以检测这样误写入的块。
[0122] 或者,例如某循环处理完毕的块有通过同一循环或后续的循环中对其他块的访问而误删除数据的情况(误删除故障)。若不实施预读,则该误删除的块的后续的循环的处理从数据删除开始,在数据读出前进行块删除和数据写入,因此,无法检测这样的误删除。另一方面,若实施预读,则可以检测这样误删除的块。
[0123] 或者,例如在S304向某块写入数据后到对其他块进行S301~S306的处理等直到数据删除为止,空出一定的时间间隔,通过在删除前由预读再度读出数据,可以将数据保持差的块作为故障产品筛选。
[0124] 预读中,SSD控制器2从选择的块中的某页面读出数据,对读出的数据,用ECC电路2B进行检错。本实施例中,SSD控制器2采用ECC电路2B的纠错功能进行读出数据的检错。SSD控制器2对全部页面进行该一系列的处理。例如选择的块中的各页面的数据不可纠错时,或纠错位数超过预定数时,SSD控制器2判断该块为故障块。SSD控制器2优选将故障块设为坏块(将~设为坏块=mark~as a bad block)。
[0125] 预读中发生读出错误时,如前述,该错误可能是误写入故障或误删除故障。预读故障可能是布线短路等NAND控制器21及其连接的布线的故障。即使SSD控制器2将发生预读故障的块设为坏块,也可能由其他块再发生预读故障。因此,优选在预读中发生故障时,SSD控制器2将SSD1判定为仅仅通过设为坏块处理难以补救的故障,经由LED42、检查装置100向SSD1的制造担当操作部通知故障内容。从而,SSD1的制造担当操作部通过废弃或拒绝SSD1,可以更牢靠地防止市场故障。或者,在预读故障发生时,通过更换发生预读故障的NAND存储芯片20,也可以补救SSD1。
[0126] 存在数据不可纠错或纠错位数超过预定数的块时,也可以将SSD1视为故障产品,立即结束筛选处理。SSD控制器2优选通过结束循环,使筛选立即结束,使LED42高速闪烁,来向外部通知筛选异常结束,SSD1为故障产品。
[0127] 进行块的数据读出时,以哪个顺序进行块内物理页面读出将后述。
[0128] 另外,例如,图10中,即使不执行作为预读的步骤S302时,本实施例也有效。即使不进行预读工作也可以充分发挥本实施例的效果,但是从改善故障的检测度的观点看,优选在本实施例中进行预读工作。
[0129] 另外,预读S302也可以与读出S305的工作不相同。例如,SSD控制器2也可以在读出S305中执行后述的读取干扰故障检测处理,在预读中从页面0到末尾页面为止,依次读出各页面。
[0130] 另外,如图10A,SSD控制器2也可以在预读S302中执行后述的读取干扰故障检测处理,不进行读出S305。
[0131] (删除)
[0132] 接着,SSD控制器2删除选择块的数据(步骤S303)。
[0133] (编写)
[0134] 接着,SSD控制器2向选择块编写数据(步骤S304)。步骤S304的编写中,向选择块编写本体数据和ECC码(纠错用冗余位,spare bit for ECC)的两方。另外,为了对存储单元均匀施加应变且均匀进行筛选,SSD控制器2优选生成随机数列,作为用于编写处理的本体数据。更优选的是,SSD控制器2采用按步骤或者循环而异的种子值来生成用于本体数据的随机数列。SSD控制器2对选择块内的全部页面(包含下位页面及上位页面的两方)进行编写处理。另外,SSD控制器2将步骤S303中删除错误的块及步骤S304中写入错误的块设为坏块。
[0135] (读出)
[0136] 接着,SSD控制器2读出选择块的数据(步骤S305)。步骤S302及S305的读出中,SSD控制器2采用ECC码进行本体数据的检错。本实施例中,SSD控制器2采用ECC电路2B的纠错功能进行读出数据的检错。纠错位数超过预定数时,SSD控制器2将选择块判定为读出错误,设为坏块。另外,为了将可靠性低的块更可靠地设为坏块,优选由SSD控制器2将发生读出错误的块设为坏块。另一方面,SSD控制器2也可以仅仅将发生删除错误及写入错误的块设为坏块,发生读出错误的块不设为坏块。
[0137] 图11及图12是步骤S305的读出工作的流程图。图11及图12中的任一方作为读出处理S305采用。图11及图12也可以适用于预读S302。
[0138] 本实施例中,以保持在SSD控制器2内的RAM(或SSD控制器2连接的RAM或NAND闪速存储器3的管理信息区域3B)保存的读取干扰故障检查对象的物理页面的地址(以后表述为PageAddressRDIST)为特征,本实施例中的读出工作中,其特征在于,SSD控制器2进行选择块内的全物理页面中物理页面PageAddressRDIST以外的物理页面的读出及纠错,然后进行物理页面PageAddressRDIST的读出及纠错。优选的是,为了高效对全部页面及全部块进行读取干扰故障的筛选,PageAddressRDIST按块选择或按步骤S300~S308的周期(循环)来改变PageAddressRDIST的值。
[0139] SSD控制器2也可以采用多个不同的PageAddressRDIST。该场合,SSD控制器2在块读出中避开由多个PageAddressRDIST指定的多个页面进行读出,避开的页面的读出随后进行。另外,为了高速且均匀对全存储单元进行干扰故障检查,例如SSD控制器2也可以限定在PageAddressRDIST=0,1,3,5,7,9…这样的下位页面,由步骤S405选择PageAddressRDIST,也可以例如限定在PageAddressRDIST=2,4,6,8,10,12…这样的上位页面,由步骤S405选择PageAddressRDIST。
[0140] 或者,SSD控制器2也可以在各读出工作S305中不是对单一页面,而是对多个页面进行读取干扰故障检测S406~S408。即,SSD控制器2在第1周期,选择多个PageAddressRDIST如PageAddressRDIST=0,1,2,3…,15,由S406~S408对这些多个PageAddressRDIST进行读取干扰故障检测。然后,在第2周期,SSD控制器2选择多个
PageAddressRDIST如PageAddressRDIST=16,17,18,19…,31,由S406~S408对这些多个PageAddressRDIST进行读取干扰故障检测。
[0141] 本实施例中,SSD控制器2将PageAddressRDIST设置为0,作为自由运行模式开始时刻的初始值,按循环使PageAddressRDIST加一(将PageAddressRDIST+1代入PageAddressRDIST)(步骤S309)。加一后的PageAddressRDIST超过页面地址的最大值时,SSD控制器2将PageAddressRDIST复位为0。
[0142] SSD控制器2读出在SSD控制器2内部的RAM内保存的PageAddressRDIST(步骤S400)。SSD控制器2选择页面地址=0(步骤S401)。
[0143] 图11的情况下,SSD控制器2比较选择页面地址和PageAddressRDIST(步骤S402)。选择页面地址和PageAddressRDIST不相等时(步骤S402:否),SSD控制器2读出选择页面,进行检错处理(步骤S403)。本实施例中,SSD控制器2采用ECC电路2B的纠错功能进行读出数据的检错。纠错的位数超过预定数时或无法纠错时,SSD控制器2优选将选择块设为坏块。或,纠错的位数超过预定数或无法纠错时,SSD控制器2优选使筛选处理立即结束,通过使LED42高速闪烁,向操作部通知筛选异常结束,SSD1为故障产品。
[0144] 选择页面地址和PageAddressRDIST相等时(步骤S402:是),SSD控制器2跳过选择页面的读出处理S403。如后述,在选择块内的其他页面的读出(步骤S401-S405)结束后,SSD控制器2进行被跳过的页面PageAddressRDIST的读出处理(步骤S406)。
[0145] 图12的情况下,SSD控制器2不比较选择页面地址和PageAddressRDIST,由步骤S403读出块内的全部的页面(步骤S402不存在)。图12的情况下,由读取干扰的影响比较少的S403进行读出,检测ECC不能纠正的错误,然后由干扰的影响较大的步骤S406再度进行读出,进行读取干扰故障的检测,因此,可以更明确区别读取干扰故障和ECC不能纠正的错误。
[0146] 接着,在图11及图12中,SSD控制器2都检查选择块内的全部的页面选择是否结束(步骤S404)。在全部的页面选择未结时(步骤S404:否),SSD控制器2通过将选择页面的地址加一,选择下一个页面(步骤S405)。对选择的页面同样进行步骤S402~S404的处理,选择在选择块内的全部页面。
[0147] 全部的页面选择结束时(步骤S404:是),SSD控制器2再度选择页面PageAddressRDIST,进行读出及检错处理(步骤S406)。页面PageAddressRDIST在对其他页面的读出结束后读出,因此不会从选择块内的其他全部页面受到读取干扰的影响。从而,可以高效筛选容易受到读取干扰的影响的存储单元。
[0148] 接着,SSD控制器2判定页面PageAddressRDIST的纠错位数是否超过预定数X或纠错是否失败(步骤S407)。步骤S407中纠错位数未超过预定数X时,或纠错成功时,SSD控制器2判定对页面PageAddressRDIST的读取干扰的影响少,正常结束读出处理(步骤S407:否)。
[0149] 另一方面,步骤S407中纠错位数超过预定数X时(步骤S407:是),或纠错失败时,SSD控制器2判定页面PageAddressRDIST为读取干扰故障(读取干扰错误)。页面PageAddressRDIST为读取干扰故障时(步骤S407:是),选择块的读取干扰故障的故障率可能高,因此,SSD控制器2将选择块设为坏块(步骤S408)。即,SSD控制器2向管理信息区域3B的坏块管理表3D追加选择块。SSD控制器2通过管理坏块管理表3D,防止以后将设为坏块的块用于数据的写入。SSD控制器2在筛选日志3E记录读取干扰故障事件(步骤S409)。
[0150] 另外,页面PageAddressRDIST的纠错位数超过预定数X或不可纠错时,SSD控制器2也可以将SSD1判定为故障产品。例如,优选的是,页面PageAddressRDIST的纠错位数超过预定数X时,或页面PageAddressRDIST不可纠错时,SSD控制器2立即结束筛选处理,通过使LED高速闪烁,向外部通知筛选异常结束,SSD1为故障产品。
[0151] 对读出S305采用图12的读出流程的场合,页面PageAddressRDIST在通常的读出检错步骤内的S403和读取干扰故障检测步骤内的S407的两方判定为读出错误时,优选的是,SSD控制器2不将页面PageAddressRDIST的S407的错误事件作为读取干扰故障事件在筛选日志3E记录。从而,可以将读取干扰故障和ECC不能纠正的错误更明确地区别分类。另一方面,即使SSD控制器2将页面PageAddressRDIST的S407的该读取干扰故障事件在筛选日志3E记录,也可以由后述的检查装置100判别该故障是真读取干扰故障或者不是读取干扰故障而是读出错误,可以防止误检测。
[0152] 通常的读出检错步骤内的读出S403中检测到读出错误时,SSD控制器2在筛选日志3E记录错误事件后,也可以跳过选择块相关的读出工作S305以后的处理。SSD控制器2通过在跳过后转移到步骤S306的处理,可以缩短筛选步骤所要时间。
[0153] SSD控制器2在选择块内的全部页面选择后,也可以1以上的次数反复进行图11的S402~S404或图12的S403~S404。从而,可以进一步加强对读取干扰故障检测对象区域的读取干扰的影响,提高筛选强度。
[0154] 将本实施例的说明返回图10。SSD控制器2在步骤S305之后,向处理完毕列表追加选择块(步骤S306)。SSD控制器2也可以在步骤S300取代处理完毕列表而将RAM存储的未处理列表初始化,在步骤S306从未处理列表删除选择块。SSD控制器2判定是否选择了NAND型闪速存储器3的用户区域3C的全部块(步骤S307)。SSD控制器2判定在步骤S307中未选择全部块时,返回步骤S301,选择下一个块。
[0155] SSD控制器2在步骤S307中判定选择了全部块时,SSD控制器2判定是否经过了预定时间(步骤S308)。或,步骤S308中,也可以判定是否达到预定循环次数。SSD控制器2判定未经过预定时间时(或判定未达到预定循环次数时),反复进行步骤S300~S307。优选的是,SSD控制器2按步骤S300~S307的各循环使PageAddressRDIST加一。另一方面,SSD控制器2判定步骤S308中经过了预定时间时(或判定达到预定循环次数时),SSD控制器2结束筛选工作。
[0156] 每块的物理页面数为256页面时的各页面的读出顺序如图13及图14所示。图13是采用图11的流程时的例,图14是采用图12的流程时的例。
[0157] 图13的例中,SSD控制器2按升序读出从页面地址=0到页面地址=255的范围的页面,另一方面,跳过页面地址=PageAddressRDIST的读出。SSD控制器2在其他全部的页面的读出结束后,作为第255页面的读出,进行页面地址=PageAddressRDIST的读出。如图15,SSD控制器2按循环(周期)使PageAddressRDIST加一。PageAddressRDIST的值如图16那样迁移:
[0158] 周期编号=0:PageAddressRDIST=0
[0159] 周期编号=1:PageAddressRDIST=1
[0160] 周期编号=2:PageAddressRDIST=2
[0161] 周期编号=3:PageAddressRDIST=3
[0162] …
[0163] [4.筛选日志]
[0164] 各种错误发生时,SSD控制器2在NAND型闪速存储器2内的筛选日志区域3E逐次存储错误的日志(筛选日志)。图17是筛选日志的例。筛选日志例如由事件编号、时间戳、周期编号、错误的种类、温度、错误发生的物理地址的项目组成。
[0165] ·事件编号:对筛选日志内的各日志事件按照时间系列编号的流水编号。
[0166] ·时间戳:从筛选步骤开始到错误发生为止经过的时间(例如秒数)。
[0167] ·周期编号:对图15中的周期按照时间系列编号的流水编号。
[0168] ·错误的种类:表示错误的识别信息。例如S304的编写(写入)处理中发生错误时,记入“写入错误”。S303的删除处理中发生错误时记入“删除错误”。S302的预读处理中发生错误时记入“预读故障”。S400~S404的读出处理中发生错误时记入“ECC不能纠正的错误”。S406~S408的读出处理中发生错误时记入“干扰故障”。
[0169] ·温度:表示错误发生时由SSD控制器2计测的温度。
[0170] ·错误发生的物理地址:表示错误发生时访问的NAND型闪速存储器3的区域的物理地址。
[0171] 例如,检测到读取干扰故障时(步骤S406:是),SSD控制器2在筛选日志3E记录读取干扰故障事件(步骤S409)。
[0172] 如图18,SSD控制器2也可以在筛选日志区域3E不仅记录故障事件的列表,还记录读取干扰故障发生次数。例如,SSD控制器2按NAND存储芯片地址在筛选日志区域3E记录干扰故障发生次数。从而,在筛选后的检查步骤中,检查装置100容易特定干扰故障大量发生并应该取代的NAND存储芯片。或者,SSD控制器2也可以不在筛选日志区域3E记录故障事件的列表,而在筛选日志区域3E仅仅记录图18的读取干扰故障发生次数。
[0173] 图19是筛选的全体的步骤流程。SSD1的制造担当操作部将SSD与恒温槽连接(步骤S500)。SSD控制器2自动地开始自由运行模式,开始筛选步骤(步骤S501)。自由运行模式中,SSD控制器2控制LED42,向操作部通知筛选步骤的状态、结果。SSD控制器2执行具有图10说明的读取干扰故障检测功能的筛选步骤(步骤S502)。然后,SSD控制器2自动地结束自由运行模式(步骤S503)。SSD控制器2控制LED42,向操作部通知筛选步骤结束的情况。当错误发生,筛选步骤异常结束时,优选的是,SSD控制器2控制LED42,向操作部通知筛选步骤异常结束的情况。另外,如图20,SSD控制器2也可以在读取干扰故障检测步骤(步骤S502)前,执行通常的删除、写入及读出组成的周期(步骤S504)等,在筛选步骤内与其他功能组合实施。另外,如图21,在读取干扰故障检测步骤(步骤S502)前,也可以实施美国申请13/602,763所述的应变步骤(步骤S505)。
[0174] [5.筛选后检查]
[0175] 操作部目视确认LED42,确认筛选步骤的结束。或者,操作部在筛选步骤开始后经过预定时间后,视为筛选步骤结束。操作部确认筛选步骤的结束后,从电源装置40取下SSD1,如图22,将SSD1与检查装置100连接,控制检查装置100,开始筛选步骤后检查。检查装置100构成为可与SSD1连接。
[0176] 图23是筛选步骤后检查的流程图。检查装置100进行筛选日志区域3E及坏块管理表3D的读出(步骤S600,S601)。该读出经由例如前述非专利文献所述的SCT指令、其他供应商独自的指令而进行。检查装置100采用从筛选日志区域3E读出的日志,判定筛选步骤中是否发生预读故障(步骤S602),存在预读故障时(步骤S602:是),指示操作部废弃检查对象SSD(步骤S603)。或者,检查装置100也可以从筛选日志区域3E的物理地址特定发生预读故障的NAND芯片,指示操作部更换该NAND芯片(步骤S603)。
[0177] 预读故障不存在时(步骤S602:否),检查装置100从坏块管理表3D取得坏块数,判定坏块数是否超过上限值(步骤S604)。上限值用于根据开发阶段的可靠性评价确定SSD1的产品寿命处于产品规格内。上限值在例如检查装置100内的存储区域或SSD1内的NAND型闪速存储器3存储。另外,检查装置100可以取得NAND型闪速存储器3全体的坏块数合计值,与上限值比较,也可以取得各个存储单元阵列22的坏块数,与上限值比较,也可以取得各个平面的坏块数,与上限值比较。坏块数超过上限值时(步骤S604:是),废弃检查对象SSD(步骤S603)。或者,也可以从坏块管理表3D的物理地址特定坏块大量发生的NAND芯片,更换该NAND芯片(步骤S603)。
[0178] 坏块数未超过上限值时(步骤S604:否),检查装置100将检查对象SSD判定为合格品,通知操作部(步骤S605)。另外,从坏块管理表3D读出坏块数时,除了前述接口11以外,也可以使用UART(Universal Asynchronous Receiver Transmitter)这样的接口。
[0179] 在筛选步骤后检查中,优选的是,检查装置100从筛选日志取得读取干扰故障发生次数,将读取干扰故障发生次数极大的SSD判定为故障产品。检查装置100在例如图17的筛选日志3E的错误事件的列表中,通过对错误的种类成为干扰故障的行的数计数,可计算读取干扰故障发生次数。另外,SSD控制器2也可以在筛选日志区域3E存储读取干扰故障发生次数,或者SSD控制器2从筛选日志计算读取干扰故障发生次数,检查装置100经由接口11从SSD控制器2取得读取干扰故障发生次数。
[0180] SSD控制器2也可以在筛选日志区域3E存储读取干扰故障发生次数。读取干扰故障发生次数的初始值为0。SSD控制器2在读取干扰故障发生时(步骤S407:是),使读取干扰故障发生次数加一,在筛选日志区域3E存储。检查装置100向SSD控制器2发送读取干扰故障发生次数取得请求后,SSD控制器2从筛选日志区域3E取得读取干扰故障发生次数,向检查装置100发送。
[0181] SSD1的开发者在SSD1的开发时或SSD1的量产时,可以采用大量SSD1来合计读取干扰故障发生次数,求出读取干扰故障发生次数的分布(图24)。开发者对该分布,例如将下方3σ的读取干扰故障发生次数(=确率分布的下方累积确率为99.87%的位置的读取干扰故障发生次数)确定为读取干扰故障发生次数上限值。优选的是,检查装置100在筛选步骤后检查中将读取干扰故障发生次数比读取干扰故障发生次数上限值大的SSD判定为故障。
[0182] 如上所述,预读故障发生时,有存储单元阵列22的周边电路的故障、布线故障等的可能性。优选的是,检查装置100只要未检测到发生故障的NAND存储芯片更换完毕的情况,将通知操作部不将该SSD出厂。SSD控制器2在预读故障发生时,强制结束筛选步骤或自由运行模式,控制LED,向操作部通知筛选步骤异常结束,SSD1判定为故障。操作部将预读故障发生的SSD从恒温槽41取下,将其他筛选步骤对象SSD与恒温槽41连接。这样,可以更高效地运行恒温槽41,并增大由恒温槽41可生产的SSD的台数,可以削减恒温槽41对每台SSD1消耗的功率。
[0183] [6.效果]
[0184] 如上所述,筛选步骤的各选择块的读出处理中,SSD控制器2在读取干扰故障检测对象页面以外的页面的读出工作结束后,进行读取干扰故障检测对象页面的读出工作。读出错误发生时,SSD控制器2将该错误事件作为读取干扰故障,在筛选日志区域3E记录。从而,可以由检查装置100将读取干扰故障与其他故障区别检测。
[0185] 另外,SSD控制器2将读取干扰故障发生时的选择块设为坏块,以以后不对该块进行数据的读出及写入的方式进行管理。从而,即使有读取干扰故障率高的块,也可以由SSD控制器2在出厂前将该块筛选为坏块,降低读取干扰故障导致的市场故障率。
[0186] 另外,SSD控制器2在步骤S301将选择块变更为上述块以外的块之前进行读取干扰故障检测对象页面的读出工作S406,然后在S301-S306选择上述块以外的块并测试,在S301再度选择上述块后,进行预读工作S302。SSD控制器2在预读工作发生读出错误时,将该错误事件作为预读故障在筛选日志区域3E记录。从而,可以抑制将预读故障误检测为读取干扰故障,或者将读取干扰故障误检测为预读故障的误检测率。另外,通过抑制预读故障误检测为读取干扰故障的误检测率,可以防止读取干扰故障误判定为预读故障而将检查对象SSD判定为故障所导致的产品成品率降低。图25表示了各错误及故障的分类和产品出厂前处理的处理内容的分类。
[0187] [第2实施例]
[0188] 第2实施例说明了通常模式和自由运行模式的切换方式的例。图26是说明第2实施例的通常模式和自由运行模式的切换工作的状态迁移图。优选的是,SSD控制器2通过向例如DAS/DSS信号线发送与SSD控制器2的各状态对应的不同样式的信号,向操作部通知各状态。
[0189] 第2实施例中,SSD控制器2使用通常固件(通常FW)和自由运行固件(自由运行FW)的2种固件,作为通常模式和自由运行模式的切换手段。
[0190] 固件的改写可以采用SSD1支持的接口中定义的指令进行。例如,如第1实施例详述,采用遵从ASC-2的Download Microcode指令等。
[0191] 例如,通常模式用及自由运行模式用固件在例如网络连接的服务器保存,按照以下的顺序在固件区域3A存储。检查装置100经由网络与该服务器连接。检查装置100通过因特网连接将固件下载到检查装置100内的存储区域。检查装置100经由接口11向SSD1发送固件,SSD控制器2将接收的固件写入固件区域3A。
[0192] 或者,通常模式用及自由运行模式用固件也可以在例如DVD-ROM这样的光学介质、USB存储器这样的非易失性存储介质保存。检查装置100访问这些存储介质,将固件拷贝到检查装置100内的存储区域。检查装置100经由接口11向SSD1发送固件,SSD控制器2将接收的固件写入固件区域3A。
[0193] 状态S700表示SSD控制器2为通常模式,且向NAND型闪速存储器3的FW区域3A写入了通常FW的状态。状态S700下,SSD1的电源从截止(断)变为导通(通)时,SSD控制器2执行向FW区域3A写入的通常固件,成为通常模式。
[0194] 例如检查步骤时,检查装置100采用ATA的Download Microcode指令向SSD1写入自由运行FW后,SSD控制器2从状态S700向状态S701迁移。即,状态S701表示SSD控制器2为通常模式,且向FW区域3A写入了自由运行FW的状态。状态S701下,SSD1的电源从截止变为导通时,SSD控制器2从状态S701向状态S702迁移,SSD控制器2执行在FW区域3A写入的自由运行固件,成为自由运行模式。该状态S702下,SSD控制器2执行前述筛选工作。另外,状态S702下,SSD1的电源从截止变为导通时,SSD控制器2执行在FW区域3A写入的自由运行固件,成为自由运行模式。
[0195] 筛选结束后,检查装置100采用Download Microcode指令向SSD1写入通常FW后,SSD控制器2从状态S702向状态S703迁移。即,状态S703表示SSD控制器2为自由运行模式,且向FW区域3A写入了通常FW的状态。状态S703下,SSD1的电源从截止变为导通时,SSD控制器2从状态S703向状态S700迁移,SSD控制器2执行在FW区域3A写入的通常固件,成为通常模式。
[0196] 检查装置100用于筛选前的前处理(Pre-conditioning)、筛选后的测试步骤。操作部在筛选前连接SSD1和检查装置100,控制检查装置100,改写固件区域3A(S700→S701)。接着,操作部连接SSD1和电源装置40,SSD控制器2向状态S702迁移,开始筛选。筛选结束后,操作部连接SSD1和检查装置100,控制检查装置100,改写固件区域3A(S702→S703)。接着,操作部控制检查装置100,通过切断来自电源线12的电源供给并再度供给电源,最终向状态S700迁移。
[0197] 另外,SSD控制器2在采用download microcode指令进行FW区域3A的改写后,不经过电源通断就不进行从S701到S702的状态迁移、从S703到S700的状态迁移,但是也可以在download microcode指令接收后立即进行S700→S701→S702、S702→S703→S700的状态迁移。
[0198] (效果)
[0199] 根据以上详述的第2实施例,可以采用外部指令进行SSD1的通常模式和自由运行模式的切换。从而,可以简单且正确进行通常模式和自由运行模式的切换。
[0200] [第3实施例]
[0201] 第3实施例采用可执行通常模式和自由运行模式的两方的仅仅一个通常FW,以指令作为触发,选择在通常FW内执行的模式。图27是说明第3实施例的通常模式和自由运行模式的切换工作的状态迁移图。
[0202] 第3实施例中,SSD控制器2使用可执行通常模式和自由运行模式的两方的一个通常FW,作为通常模式和自由运行模式的切换手段。检查装置100向SSD1发送指令,改写用于确定执行通常FW内的通常模式和自由运行模式的哪个的触发。作为改写触发的指令,采用例如ACS-3所述的SCT指令、供应商独自的指令等。
[0203] 状态S800是向NAND型闪速存储器3的FW区域3A写入了通常FW的初始设定状态。状态S800表示SSD控制器2为通常模式,且通常模式被触发的状态。状态S800中,SSD1的电源从截止变为导通时,状态S800成为触发的通常模式。
[0204] 检查装置100向SSD1发送触发自由运行模式的指令(自由运行模式转移指令)后,SSD控制器2从状态S800向状态S801迁移。即,状态S801表示为通常模式且触发了自由运行模式的状态。状态S801下,SSD1的电源从截止变为导通时,SSD控制器2从状态S801向状态S802迁移。SSD控制器2执行通常FW中触发的自由运行模式,向自由运行模式转移。该状态S802下,SSD1执行前述筛选工作。另外,状态S802下,SSD1的电源从截止变为导通时,在通常FW中触发了自由运行模式,因此,SSD1维持自由运行模式。
[0205] 筛选结束后,检查装置100向SSD1发送触发通常模式的指令(通常模式转移指令)后,SSD控制器2从状态S802向状态S803迁移。即,状态S803表示SSD控制器2为自由运行模式,且触发了通常模式的状态。状态S803下,SSD1的电源从截止变为导通时,SSD控制器2从状态S803向状态S800迁移,执行通常FW中触发的通常模式,向通常模式转移。
[0206] 筛选前,操作部连接SSD1和检查装置100,控制检查装置100,检查装置100向SSD1发送从状态S800向状态S801的迁移指令。接着,操作部连接SSD1和电源装置40,SSD控制器2转移到状态S802,开始筛选。操作部在筛选结束后,连接SSD1和检查装置100,控制检查装置100,检查装置100向SSD1发送从状态S802到状态S803的迁移指令。接着,操作部通过切断电源线12到SSD1的电源供给并再度供给电源,使SSD控制器2最终向状态S800迁移。
[0207] 另外,SSD控制器2在状态迁移指令发行后,不经过电源通断就不进行从S801到S802、从S803到S800的状态迁移,但是,也可以在状态迁移指令接收后立即进行S800→S801→S802、S802→S803→S800的状态迁移。
[0208] (效果)
[0209] 根据以上详述的第3实施例,检查装置100、主机装置10可向SSD1发送指令,切换SSD控制器2的通常模式和自由运行模式。从而,可以简单且正确进行通常模式和自由运行模式的切换。
[0210] 另外,SSD控制器2可以仅仅用一个固件来切换通常模式和自由运行模式。从而,在筛选结束后产品出厂时,不必改写固件。
[0211] [第4实施例]
[0212] 图28是第4实施例的读出工作(步骤S305)的流程图。本实施例中,SSD控制器2在读出工作S305中,检测页面地址=PageAddressRDIST的页面的ECC不能纠正的错误(检测读出错误)(S410~S413)。接着,SSD控制器2检测选择块内的全部页面中页面地址=PageAddressRDIST以外的全部页面的ECC不能纠正的错误(S402~S404)。然后,SSD控制器2检测页面地址=PageAddressRDIST的页面的读取干扰故障(S406~S409,S420)。
[0213] 通过在其他页面的读出前进行页面地址=PageAddressRDIST的第1次的读出(S410~S413),可以在读取干扰的影响小的状况下,检测S410~S413的ECC不能纠正的错误。以下,说明在页面地址=PageAddressRDIST发生读出故障时的SSD控制器2的处理。(1)读出故障若是第1次的读出S410中的故障,则SSD控制器2在筛选日志3E记录非读取干扰故障的ECC不能纠正的错误事件(S413)。(2)读出故障若是第2次的读出S406中的故障,则作为读取干扰故障,SSD控制器2在筛选日志3E记录错误事件(S409)。
[0214] 为了防止非干扰故障的读出错误误检测为干扰故障,页面AddressRDIST在读出S410中也成为错误时(S420:是),优选的是,SSD控制器2在S409中,不在筛选日志3E记录读取干扰故障事件。这样,SSD控制器2可以明确区别页面地址=PageAddressRDIST的读取干扰故障和非读取干扰故障的ECC不能纠正的错误。即,通过本实施例,可以减少非读取干扰故障的ECC不能纠正的错误误检测为读取干扰故障,或者读取干扰故障误检测为非读取干扰故障的ECC不能纠正的错误的可能性。SSD控制器2不仅将ECC不可纠正的事件,还可将ECC纠正的错误位数超过预定数X的事件判定为读出错误。
[0215] SSD控制器2也可以在选择块内将多个页面选择为干扰故障检测对象即页面地址=PageAddressRDIST的页面。该场合,SSD控制器2在第1次的读出S410中也读出在第2次的读出S406中读出的全部区域(第2次的读出S406中读出的区域等于第1次的读出S410中读出的区域,或者第2次的读出S406中读出的区域包含在第1次的读出S410中读出的区域)。图28中,通常的读出故障检测步骤的读出S403中的对象区域记载为第2次的读出S406中读出的区域以外的区域,但是读出S403中的读出对象区域也可以与S406中的读出对象区域重叠。
[0216] SSD控制器2在步骤S410~S413的PageAddressRDIST的通常的读出检错步骤检测到错误时,也可以不对该PageAddressRDIST实施PageAddressRDIST的读取干扰故障检测步骤(S406~S409,S420)。另外,SSD控制器2在步骤S410~S413的PageAddressRDIST的通常的读出检错步骤检测到错误时,也可以不实施选择块的通常的读出检错步骤(S402~S404)。
[0217] 图28的读取干扰故障检测步骤中,在步骤S406的PageAddressRDIST读出时发生ECC不能纠正的错误事件时,或发生纠错位数超过预定数的事件时,SSD控制器2在筛选日志3E记录该事件,作为读取干扰故障(S409)。
[0218] 另一方面,如图29,SSD控制器2在读取干扰故障检测步骤中纠错位数比通常的读出检错步骤时的纠错位数增大了预定值以上时,也可以将其判定为读取干扰故障事件,在筛选日志3E记录(S409)。该场合,SSD控制器2将从在步骤S406读出PageAddressRDIST时的纠错位数减去在步骤S410读出PageAddressRDIST时的纠错位数后的差分值,存储到变量Y(步骤S421)。SSD控制器2在差分Y比预定值Z(预定值Z)大时(S422:是),判定在PageAddressRDIST发生了读取干扰故障。
[0219] 为了加强对读取干扰故障检测对象区域的读取干扰的影响,提高筛选强度,优选的是,SSD控制器2在选择块内的全部页面选择后,一次以上地反复进行图28的S402~S404(或图29的S402~S404)。
[0220] (效果)
[0221] SSD控制器2在筛选步骤的各选择块的读出处理中,在读取干扰故障检测对象页面以外的页面的读出工作开始前,进行读取干扰故障检测对象页面的读出工作。该读出工作中,发生ECC不能纠正的错误时、纠错的位数超过预定数时等的读出错误发生时,在筛选日志3E记录非读取干扰故障的读出错误事件及读取干扰故障检测对象页面地址。接着,SSD控制器2在读取干扰故障检测对象页面以外的页面的读出工作结束后,进行读取干扰故障检测对象页面的读出工作。该读出工作中,发生读出错误时,在筛选日志3E记录读取干扰故障事件和读取干扰故障检测对象页面地址。从而,SSD控制器2在读取干扰故障检测对象页面无干扰的影响的状况下即S410,可以预先检测数据保持故障、字线短路故障等的非读取干扰故障的读出错误。SSD控制器2可以降低将读取干扰故障误检测为非读取干扰故障的读出故障的误检测率。SSD控制器2可以降低将非读取干扰故障的读出故障误检测为读取干扰故障的误检测率。这样,可以明确地区别检测读取干扰故障和非读取干扰故障的读出错误。
[0222] [第5实施例]
[0223] 第1实施例及第4实施例中,说明了SSD控制器2将读取干扰故障检测对象的物理页面选择为单一或多个页面地址=PageAddressRDIST,通过在选择块以外的块选择前读出它们,将读取干扰故障与其他故障区别处理的方法。本实施例中,说明了通过在选择块的全部页面读出后且选择块以外的块选择前进行一至多次的读出工作,将读取干扰故障与其他故障区别处理的方法。
[0224] 图30是第5实施例的筛选步骤的流程图。作为与图10的差异,其特征在于,本实施例中,SSD控制器2在编写处理S304后且选择选择块以外的块的S301前至少进行2次块读出(步骤S305B及S305C),在第1次的块读出时(步骤S305B)发生读出错误的场合,将其作为非读取干扰故障的读出错误事件,在筛选日志3E记录,在第2次以下的块读出时(步骤S305C)发生读出错误的场合,将其作为读取干扰故障事件,在筛选日志3E记录。为了加强读取干扰的影响,优选的是,SSD控制器2在读出S305B及读出S305C进行选择块内全部页面的读出。SSD控制器2在读出S305C中的选择块内全部页面的读出也可以仅仅进行一次。为了增大读取干扰故障的检测能力,优选的是,SSD控制器2在读出S305C中,2次以上进行选择块内全部页面的读出。在第1次的读出S305B和第2次以下的读出S305C中的块内物理页面的读出的顺序可以相同,也可以不同。
[0225] SSD控制器2也可以在选择块以外的块选择后且S303的选择块删除前即预读S302中,通过进行一至多次的读出工作,将读取干扰故障与其他故障区别处理。以下,说明本实施例中,SSD控制器2在选择块的全部页面读出后且选择块以外的块选择前,进行一至多次的读出工作的情况。
[0226] 图30的PageAddressSTART表示在选择块内进行块读出时的开始页面地址,通过SSD控制器2在RAM2A内存储。为了在筛选步骤的范围使读取干扰的影响均匀,优选的是,SSD控制器2使PageAddressSTART按周期加一(步骤S309)。
[0227] PageAddressSTART按周期加一时,为了在筛选步骤的范围使读取干扰的影响均匀,优选的是,SSD控制器2采用共用的流程,作为第1次的读出S305B及第2次以下的读出S305C的详细处理流程。图31是步骤S305B及S305C的各个读出工作的流程图。
[0228] SSD控制器2从RAM2A读出PageAddressSTART(步骤S900),选择页面地址=PageAddressSTART的物理页面(步骤S901),读出选择页面,进行纠错(步骤S902)。纠错位数超过预定数X或无法纠错时(S903:是),SSD控制器2优选将选择块设为坏块(步骤S904)。而且,纠错位数超过预定数X或无法纠错时,SSD控制器2判定该读出是第1次的读出=步骤S305B(图30)还是第2次以下的读出=步骤S305C(图30)。为第1次的读出时(S905:是),SSD控制器2将该ECC订正错误事件作为非读取干扰故障的ECC纠正错误事件,在筛选日志3E记录(步骤S906)。为第2次以下的读出时(S905:否),SSD控制器2将该ECC纠正错误事件作为读取干扰故障事件,在筛选日志3E记录(步骤S907)。
[0229] 另外,如图32,即使是第2次以下的读出时(S905:否),选择页面已经在以前读出时作为非读取干扰故障的读出错误事件或读取干扰故障事件,已经在筛选日志3E记录的场合(S910:是),SSD控制器2也可以不在筛选日志3E记录读取干扰故障事件。这是因为,该读出故障可能不是读取干扰故障。即使SSD控制器2记录了该故障事件时,检查装置100通过从筛选日志3E检索该页面的物理地址,也可判别该页面是非读取干扰故障的读出错误或者读取干扰故障。
[0230] SSD控制器2判定是否选择了选择块内的全部页面(步骤S908)。存在未选择的物理页面时,SSD控制器2使选择页面地址加一(步骤S909),反复步骤S902~S908的处理。步骤S909的加一也可以如图33所示,以页面地址=PageAddressSTART为起点,使选择页面地址逐一增加(步骤S920),选择页面地址超过块内页面地址的末尾页面地址时使选择页面地址为零(步骤S921),然后以页面地址=0为起点,使选择页面地址逐一增加(步骤S922)。
[0231] SSD控制器2在读出S305B及S305C中检测到非读取干扰故障的读出错误或读取干扰故障时,也可以跳过选择块相关的以后的步骤S305B及S305C的处理,转移到步骤S306的处理。从而,缩短测试时间。
[0232] (效果)
[0233] 第5实施例中,SSD控制器2在筛选步骤的各选择块的编写处理(步骤S304)的后且选择块以外的块选择(步骤S301)前,2次以上反复选择块内页面的读出工作。然后,SSD控制器2在第1次的读出工作(步骤S305B)时发生读出错误的场合,作为非读取干扰故障的读出错误,在筛选日志3E记录错误事件。SSD控制器2在第2次以下的读出工作(步骤S305C)时发生读出错误的场合,作为读取干扰故障,在筛选日志3E记录错误事件。从而,检查装置100可以将读取干扰故障与非读取干扰故障的读出错误及预读故障明确区别。
[0234] [第6实施例]
[0235] 如前述,已知具有在基板上层叠多个存储单元而成的存储单元阵列的NAND型闪速存储器。第6实施例说明具备层叠型的NAND型闪速存储器的SSD的筛选方法。
[0236] [1.存储单元阵列的构成]
[0237] 首先,说明存储单元阵列22的构成。本实施例说明的存储单元阵列22可置换在第1实施例说明的图3的存储单元阵列22,存储单元阵列22的周边电路构成与第1实施例相同。
[0238] 存储单元阵列22具有例如图34、图35所示构造。图34是存储单元阵列22的部分立体图。图35是存储单元阵列22的部分电路图。存储单元阵列22具有多个位线BL、多个源极线SRC及多个块BLK。块BLK具有沿着行方向及列方向矩阵状排列的多个存储单位MU。块BLK中,1条位线BL与多个存储单位MU连接。
[0239] 存储单位MU由存储串MS和选择栅S1、S2构成。存储串MS沿基板sub的层叠方向位于上方。存储串MS包含串联的多个(例如16个)存储单元MC0~MC15及背面栅极BT。存储单元MC0~MC7按该顺序在沿着层叠方向接近基板sub的方向排列。存储单元MC8~MC15按该顺序在沿着层叠方向从基板sub离开的方向排列。存储单元MC如后述,包含半导体层SP、半导体层SP的表面的绝缘膜及字线(控制栅极)WL。背面栅极BT连接到最下层的存储单元MC7、MC8间。存储单元MC0~MC15、背面栅极BT及选择栅S1、S2形成U字形状的半导体层。
[0240] 选择栅S1、S2分别位于沿着存储单元MC0、MC15的层叠方向的上方。选择栅S2的漏极与存储串MS的一端(存储单元MC0的源极)连接。选择栅S1的源极与存储串MS的另一端(存储单元MC15的漏极)连接。选择栅S1的漏极与位线BL连接。选择栅S2的源极与源极线SRC连接。
[0241] 沿各块BLK中的行方向排列的多个存储单位MU的各存储单元MC0的栅极与字线WL0共同连接。同样,沿一个块BLK中的行方向排列的多个存储单位MU的存储单元MC1~MC15的栅极分别与字线WL1~WL15共同连接。字线WL在行方向延伸。背面栅极BT的栅极与背面栅极线BG共同连接。
[0242] 沿各块BLK中的行方向排列的多个存储单位MU的选择栅S1的栅极与选择栅线SGD共同连接。沿列方向排列的多个存储单位MU的选择栅S1的漏极与位线BL共同连接。选择栅线SGD在行方向延伸。
[0243] 沿各块BLK中的行方向排列的多个存储单位MU的选择栅S2的栅极与选择栅线SGS共同连接。沿列方向排列的2个存储单位MU的选择栅S2的源极与同一源极线SRC连接。沿各块BLK中的行方向排列的多个存储单位MU的选择栅S2的源极与同一源极线SRC连接。选择栅线SGS及源极线SRC在行方向延伸。
[0244] 存储单元MC具有图36所示截面构造。字线(控制栅极)WL由例如多晶硅组成。在多个字线WL及其间的绝缘膜IN3,形成贯通它们的孔。在孔的表面,形成存储器栅极绝缘层IN2,在孔中,形成半导体层SP。半导体层SP在层叠方向延伸,由例如导入了不纯物的半导体(例如硅)组成。在半导体层SP中,形成沟道。
[0245] 存储器栅极绝缘层IN2具备隧道绝缘层IN2c、电荷蓄积层IN2b及块绝缘层IN2a。隧道绝缘层IN2c以包围半导体层SP的方式形成。电荷蓄积层IN2b以包围隧道绝缘层IN2c的方式形成。块绝缘层IN2a以包围电荷蓄积层IN2b的方式形成。另外,选择栅S1、S2不必一定具有电荷蓄积层IN2b及块绝缘层IN2a,也可以仅仅具备隧道绝缘层(栅极绝缘膜)IN2c。
[0246] 隧道绝缘层IN2c及块绝缘层IN2a由例如硅氧化物(SiO2)构成。电荷蓄积层IN2b由例如硅氮化物(SiN)构成。半导体层SP、隧道绝缘层IN2c、电荷蓄积层IN2b及块绝缘层IN2a形成MONOS型晶体管。背面栅极线BG、字线WL及选择栅线SGD、SGS分别以包围半导体层SP及存储器栅极绝缘层IN2的方式形成。
[0247] [2.筛选工作]
[0248] 接着,说明本实施例的测试方法(筛选工作)。图37是SSD1的筛选工作的流程图。自由运行模式开始后,SSD控制器2执行筛选步骤。
[0249] (数据样式选择)
[0250] SSD控制器2选择S1003中的编写用的容易引起数据保持故障的数据样式(步骤S1008)。本实施例中,SSD控制器2选择第1数据样式和第2数据样式中一方的数据样式。优选的是,在第1数据样式选择后,再度执行步骤S1000的数据样式选择处理时,SSD控制器2选择第2数据样式。优选的是,在第2数据样式选择后,再度执行步骤S1000的数据样式选择处理时,SSD控制器2选择第1数据样式。即,反复进行第1数据样式的筛选→第2数据样式的筛选→第1数据样式的筛选→第2数据样式的筛选→…的处理。从而,SSD控制器2可以均匀进行奇数WL和偶数WL的筛选。数据样式的详细情况将在步骤S1003的编写的说明中后述。
[0251] (处理完毕列表清空)
[0252] SSD控制器2将管理筛选步骤完毕的块的列表(处理完毕列表)清空(步骤S1000)。该处理完毕列表在SSD控制器2内的RAM存储。
[0253] (块选择)
[0254] 接着,SSD控制器2从NAND型闪速存储器3的用户区域3C选择一个块(步骤S1001)。该块选择与图10的步骤S301相同。
[0255] (删除)
[0256] 接着,SSD控制器2删除选择块的数据(步骤S1002)。
[0257] (编写)
[0258] 本实施例的存储单位在字线间与电荷蓄积层有联系。因而,编写状态的存储单元相邻的存储单元为删除状态时,在这些相邻存储单元间发生空穴和电子的重新结合,编写状态的存储单元的阈值降低(横向缺失现象)。本实施例中,通过将容易发生数据保持故障的数据样式编写到块,使数据保持故障发生,且筛选发生了数据保持故障的块。
[0259] 例如,以存储单元存储2位(下位页面及上位页面)的情况为例进行说明。下位页面及上位页面写入状态的数据“11”、“01”、“10”、“00”的存储单元分别具有阈值电压E、A、B、C,具有E
[0260] 图38是第1数据样式选择时的编写工作的说明图。步骤S1003的编写中,SSD控制器2向选择块的偶数页面编写C电平(最高的阈值电平)。即,向存储单位编写“ECECEC···”的数据样式。此时,在相邻存储单元编写的数据必定形成C电平和E电平的对,因此,可再现数据保持故障的最差数据样式。
[0261] 为了再现数据保持故障的最差数据样式,用本实施例的第1数据样式编写的数据样式成为“···ECECEC···”。但是不限于该数据样式,也可以是“···CEECEE···”的数据样式,即,仅仅删除状态的存储单元的一方相邻的存储单元为C电平的数据样式。
[0262] SSD控制器2根据上述“···ECECEC···”的数据样式生成ECC码,在NAND型闪速存储器3记录。例如,SSD控制器2按各字线WL所属的物理扇区的物理页面生成ECC码,在同物理页面内的空闲区域存储ECC码。
[0263] 图39是第2数据样式选择时的编写工作的说明图。步骤S1003的编写中,SSD控制器2向选择块的奇数页面编写C电平(最高的阈值电平)。即,向存储单位编写“CECECE···”的数据样式。此时,在相邻存储单元编写的数据必定形成C电平和E电平的对,因此,可再现数据保持故障的最差数据样式。
[0264] SSD控制器2根据上述“···CECECE···”的数据样式生成ECC码,在NAND型闪速存储器3记录。例如,SSD控制器2按各字线WL所属的物理扇区的物理页面生成ECC码,在同物理页面内的空闲区域存储ECC码。
[0265] 编写的阈值也可以是比C电平大的阈值“C+α”。通过采用“C+α”电平,可以提高数据保持故障的发生率。
[0266] (读出)
[0267] 接着,SSD控制器2读出选择块的数据(步骤S1004)。编写工作中,到向全部的偶数页面(或者奇数页面)编写数据为止花费时间,因此,考虑数据保持特性差的存储单元从数据编写到读出为止的期间电荷损失的情况。图40是步骤S1004的读出工作的流程图。
[0268] SSD控制器2根据ECC码,进行选择块内的全部页面的读出及纠错处理(或检错处理)(步骤S1100)。本实施例中,SSD控制器2采用ECC电路2B的纠错功能,进行读出数据的检错。接着,SSD控制器2判定选择块的纠错位数是否超过预定数X或纠错是否失败(步骤S1101)。
[0269] 另外,步骤S1100的读出步骤也可以仅仅对编写为C电平的页面进行读出及纠错。或者,也可以仅仅进行E电平的页面的读出及纠错。从而,由于读出对象页面数减少,因此可以相应地缩短读出时间。
[0270] 步骤S1101中纠错位数未超过预定数X或纠错成功的场合,数据保持故障的故障率变低,读出处理正常结束(步骤S1101:否)。
[0271] 另一方面,步骤S1101中纠错位数超过预定数X或纠错失败的场合,选择块被判定为数据保持故障。然后,SSD控制器2将选择块设为坏块(步骤S1102)。即,SSD控制器2向管理信息区域3B的坏块管理表3D追加选择块。从而,以后,设为坏块的块不用于数据的写入。SSD控制器2在筛选日志3E记录数据保持故障事件(步骤S1103)。
[0272] 在编写S1003和读出S1004之间,优选加入等待预定时间的步骤。从而,可以更严格地筛选数据保持故障。预定时间可自由设定。
[0273] SSD控制器2也可以取代图37的处理流程而执行图37A的处理流程。图37A中,由预读进行数据保持故障检测。数据读出在向全部块写入第1数据样式或第2数据样式后进行,因此,从数据写入到数据读出为止的经过时间比图37长,SSD控制器2可以更高效地检测数据保持故障。
[0274] 本实施例中,SSD控制器2通过ECC电路2B及ECC码进行读出数据的检错,判定第1数据样式或第2数据样式是否读出。该方法可以高速进行步骤S1004的读出处理。另一方面,SSD控制器2也可以不采用ECC电路2B、ECC码,而直接比较作为读出数据和写入数据的第1数据样式或第2数据样式来进行判定。SSD控制器2在读出数据中与写入数据不一致的位数为一常数以上的场合,判定读出错误(比较错误)。
[0275] 返回图37,SSD控制器2向处理完毕列表追加选择块(步骤S1005)。也可以在步骤S1000,取代处理完毕列表而将RAM存储的未处理列表初始化,在步骤S1005从未处理列表删除选择块。接着,SSD控制器2判定是否选择了NAND型闪速存储器3的用户区域3C的全部块(步骤S1006)。步骤S1006中未选择全部块时,返回步骤S1001,选择下一个块。
[0276] 步骤S1006中选择了全部块时,SSD控制器2判定是否经过预定时间(步骤S1007)。或,也可以在步骤S1007中,判定是否达到预定循环次数。未经过预定时间时(或未达到预定循环次数时),反复进行步骤S1000~S1006。另一方面,步骤S1007中经过了预定时间时(或达到预定循环次数时),筛选工作结束。
[0277] 若综合筛选的全体步骤,则如图41的,操作部将SSD与恒温槽连接(步骤S500),接着SSD控制器2自动地开始自由运行模式,开始筛选步骤(步骤S501),接着SSD控制器2执行具有图37说明的数据保持故障检测功能的筛选步骤(步骤S502)。然后,SSD控制器2自动地结束自由运行模式(步骤S503)。另外,如图20及图21所说明,也可以实施通常的删除、写入及读出组成的周期(步骤S504),也可以实施应变步骤(步骤S505)。
[0278] [3.筛选后检查]
[0279] 筛选步骤结束后,操作部从电源装置40取下SSD1,如图22那样与检查装置100连接,控制检查装置100。检查装置100进行筛选步骤后检查。筛选步骤后检查与图23相同。此时,预读故障替换为数据保持故障。
[0280] [4.效果]
[0281] 如上所述,在相邻存储单元编写的数据形成C电平和E电平的对,因此可以再现数据保持故障的最差数据样式。然后,SSD控制器2将发生数据保持故障的选择块设为坏块,以后不对该块进行数据的读出及写入。从而,即使有数据保持故障率高的块,也可以在出厂前将该块筛选为坏块,降低数据保持故障引起的市场故障率。
[0282] 虽然说明了本发明的几个实施例,但是这些实施例只是例示,而不是限定发明的范围。这些新实施例可以各种形态实施,在不脱离发明的要旨的范围,可以进行各种省略、置换、变更。这些实施例及其变形是发明的范围和要旨所包含的,也是权利要求的范围记载的发明及其均等的范围所包含的。