1.本公开涉及一种控制器和包括该控制器的存储系统,并且更具体地,涉及一种能够测试
存储器装置的控制器和包括该控制器的存储器系统。
背景技术:
2.存储器装置可以包括当电源被中断时所存储的数据丢失的易失性存储器装置以及即使电源被中断也保持所存储的数据的非易失性存储器装置。
3.在易失性存储器装置和非易失性存储器装置当中,随着诸如移动电话和笔记本计算机的便携式电子装置的使用增加,非易失性存储器装置被要求具有更高的容量和更高的集成度。
4.因此,以单层形式在基板上形成存储器单元的二维非易失性存储器装置的集成度提高达到极限,已经开发了在基板上垂直层叠存储器单元的三维非易失性存储器装置。
5.三维非易失性存储器装置对于高集成度是有利的,但是由于构成存储器装置的元件之间的距离较窄,因此存储器装置的可靠性可能较弱。
技术实现要素:
6.根据本公开的实施方式的控制器可以包括:测试管理器,测试管理器被配置为输出用于执行对存储器块的编程操作的编程
命令和用于停止编程操作的挂起命令;以及存储器接口,存储器接口被配置为将编程命令发送到包括存储器块的存储器装置,并在经过设置时间之后将挂起命令发送到存储器装置。测试管理器可以被配置为输出用于读取包括在存储器块中的存储器单元的读取命令,存储器接口通过对响应于读取命令从存储器装置输出的数据进行计数来计算计数值,并且测试管理器根据计数值生成关于存储器块的状态信息。
7.根据本公开的实施方式的控制器可以包括:命令生成器,命令生成器被配置为输出用于执行对存储器块的编程操作的编程命令、用于停止编程操作的挂起命令、用于检查存储器块的慢速状态的第一读取命令以及用于检查存储器块的快速状态的第二读取命令;命令队列,命令队列被配置为将编程命令、挂起命令、第一读取命令和第二读取命令依次发送到包括存储器块的存储器装置;计数器,计数器被配置为接收响应于第一读取命令和第二读取命令中的每一个从存储器装置输出的第一数据和第二数据,并且通过对包括在第一数据和第二数据中的每一个中的不同的位的数量进行计数来输出计数值;以及状态确定器,状态确定器被配置为根据计数值确定存储器块的状态并生成状态信息。
附图说明
8.图1是示出根据本公开的实施方式的存储器系统的图。
9.图2是示出图1所示的存储器装置的图。
10.图3是示出图2所示的存储器单元阵列的图。
11.图4是示出图3所示的存储器块的图。
12.图5是示出根据编程方法的存储器单元的阈值
电压的图。
13.图6是示出增量步进脉冲编程(ispp)方法的编程操作的图。
14.图7是示出根据本公开的实施方式的控制器的图。
15.图8是示出根据本公开的第一实施方式的操作存储器系统的方法的流程图。
16.图9是示出根据第一实施方式的命令发送方法的图。
17.图10是示出根据第一实施方式的挂起命令的输出时间的图。
18.图11是示出根据第一实施方式的电压表的图。
19.图12是示出根据第一实施方式的在测试操作中检查存储器单元的状态的方法的图。
20.图13是示出根据第一实施方式的确定存储器块的状态的方法的图。
21.图14是示出根据本公开的第二实施方式的操作存储器系统的方法的流程图。
22.图15是示出根据第二实施方式的电压表的图。
23.图16是示出根据第二实施方式的在测试操作中检查存储器单元的状态的方法的图。
24.图17是示出根据第二实施方式的状态表的图。
25.图18是示出根据本公开的实施方式的存储器系统的另一实施方式的图。
26.图19是示出根据本公开的实施方式的存储器系统的又一实施方式的图。
具体实施方式
27.示出根据本说明书或申请中所公开的构思的实施方式的具体结构或功能描述仅用于描述根据本公开的构思的实施方式。根据本公开的构思的实施方式可以以各种形式来执行,并且描述不限于在本说明书或申请中描述的实施方式。
28.本公开的实施方式提供了一种能够预先检测到存储器装置的缺陷的控制器,以及包括该控制器的存储器系统。
29.本技术可以根据存储器单元的状态确定存储器块的状态、检测坏块并且缩短用于检测坏块的测试时间。
30.图1是示出根据本公开的实施方式的存储器系统的图。
31.参照图1,存储器系统1000可以包括其中存储数据的存储器装置1100和控制器1200。
32.存储器装置1100可以被配置为根据控制器1200的控制来存储或输出数据。存储器装置1100可以通过信道(channel)连接到控制器1200。
33.控制器1200可以在外部装置和存储器装置1100之间进行通信。外部装置可以是主机。控制器1200可以根据主机的请求来控制存储器装置1100,或者即使不存在主机的请求,也可以执行用于提高存储器系统1000的性能的后台操作。
34.根据本实施方式的控制器1200可以被配置为测试存储器装置1100的缺陷。例如,控制器1200可以在制造存储器装置1100之后执行用于检查包括在存储器装置1100中的存储器块是否有缺陷的测试操作。控制器1200可以将编程命令发送到包括在每个存储器装置1100中的存储器块,并且然后在预定时间之后发送挂起命令(suspend command),并且可以
基于对经编程的存储器单元的读取结果来检查存储器块的状态。例如,控制器1200可以在存储器单元的阈值电压与参考值相比过低或过高时将存储器块作为坏块进行处理,针对不是坏块的其中阈值电压与参考值稍有不同的存储器块存储状态信息,并通过参考状态信息来管理存储器块的后续操作。诸如预定时间的如本文中针对参数所使用的词“预定”是指在过程或算法中使用参数之前确定参数的值。针对一些实施方式,在过程或算法开始之前确定参数的值。在其它实施方式中,在过程或算法期间但在过程或算法中使用参数之前确定参数的值。
35.图2是示出图1所示的存储器装置的图。
36.参照图2,存储器装置1100可以包括能够存储数据的存储器单元阵列100,以及能够执行存储器单元阵列100的编程操作、读取操作或擦除操作的外围电路110。
37.存储器单元阵列100可以包括多个包括非易失性存储器单元的存储器块。局部线ll可以连接到各个存储器块,并且位线bl可以共同地连接到每个存储器块。
38.外围电路110可以包括电压发生器112、行解码器113、页缓冲器组114、列解码器115和输入/输出电路116。
39.电压发生器112可以响应于操作信号ops生成编程操作、读取操作或擦除操作所需的操作电压vop,并且将所生成的操作电压vop发送到行解码器113。例如,电压发生器112可以生成并输出诸如编程电压、读取电压、擦除电压和通过电压的操作电压vop。
40.行解码器113可以响应于行地址radd,通过局部线ll将操作电压vop传送到所选存储器块。
41.页缓冲器组114可以包括连接到位线bl的多个页缓冲器。例如,页缓冲器组114可以通过感测根据所选存储器单元的阈值电压而改变的位线bl的电压或电流来存储数据。页缓冲器组114可以响应于页缓冲器控制信号pbsig而在编程操作或读取操作期间临时存储数据。
42.列解码器115可以响应于列地址cadd在页缓冲器组114和输入/输出电路116之间发送数据。
43.输入/输出电路116可以从外部装置接收命令cmd和地址add,并且将命令cmd和地址add发送到控制逻辑电路120。这里,外部装置可以是图1的控制器1200。输入/输出电路116可以在编程操作期间通过列解码器115将从外部装置接收的数据data发送到页缓冲器组114,并且在读取操作期间将从列解码器115接收的数据data输出到外部装置。
44.控制逻辑电路120可以根据命令cmd和地址add来控制电压发生器112、行解码器113、页缓冲器组114、列解码器115和输入/输出电路116。例如,控制逻辑电路120可以响应于命令cmd而输出操作信号ops和页缓冲器控制信号pbsig,并且可以响应于地址add而输出行地址radd和列地址cadd。控制逻辑电路120可以包括用于响应于命令cmd而执行各种操作的软件,并且可以包括用于输出各种操作所需的信号的硬件。根据本实施方式,控制逻辑电路120可以响应于编程命令来执行编程操作,并且可以响应于挂起命令来挂起编程操作。控制逻辑电路120可以响应于终止命令(termination command)来终止被挂起的编程操作。在实施方式中,存储器装置可以包括可以被实现为硬件、软件或硬件和软件的组合的控制逻辑。例如,控制逻辑120可以根据执行控制逻辑代码的处理器和/或算法来操作。
45.图3是示出图2所示的存储器单元阵列的图。
46.参照图3,存储器单元阵列100可以被配置为单平面结构或多平面结构。单平面结构是存储器单元阵列100由一个平面构成的结构,并且多平面结构是存储器单元阵列100中包括多个平面的结构。图3示出了具有多平面结构的存储器单元阵列100作为一个实施方式。
47.存储器单元阵列100可以包括第一平面p1至第四平面p4。不同的行解码器和不同的页缓冲器组可以连接到第一平面p1至第四平面p4。第一平面p1至第四平面p4中的每一个可以包括多个存储器块blk1至blki(i是正整数)。可以将不同的物理地址分配给第一平面p1至第四平面p4,并且还可以将不同的物理地址分配给多个存储器块blk1至blki。第一存储器块blk1至第i存储器块blki可以彼此相同地配置,并且以下具体描述第一存储器块blk1至第i存储器块blki当中的第i个存储器块blki。
48.图4是示出图3所示的存储器块的图。
49.参照图4,存储器块blki可以包括连接在第一位线bl1至第m位线blm(m是正整数)和源极线sl之间的多个串st。每一个串st可以包括串联连接在源极线sl与第一位线bl1至第m位线blm之间的源极选择晶体管sst、第一存储器单元c1至第n存储器单元cn以及漏极选择晶体管dst。
50.由于图4是用于描述存储器块blki的配置的图,因此源极选择晶体管sst、第一存储器单元c1至第n存储器单元cn以及漏极选择晶体管dst的数量不限于图4所示的数量。
51.连接到不同串st的各个源极选择晶体管sst的栅极可以连接到源极选择线ssl,第一存储器单元c1至第n存储器单元cn中的每一个的栅极可以连接到第一字线wl1至第n字线wln,并且各个漏极选择晶体管dst的栅极可以连接到漏极选择线dsl。源极选择线ssl、第一字线wl1至第n字线wln以及漏极选择线dsl可以被包括在局部线ll中。
52.连接到同一字线并且被包括在不同串st中的一组存储器单元可以构成一个页pg。存储器单元可以以页pg为单位进行编程或读取。第一位线bl1至第m位线blm可以分别连接到图2的页缓冲器组114中包括的各个页缓冲器。
53.图5是示出根据编程方法的存储器单元的阈值电压的图。
54.参照图5,可以按单层单元(slc)或多层单元(mlc)方法执行编程操作。slc方法是将一位数据存储在一个存储器单元中的方法,并且mlc方法是将两位或更多位数据存储在一个存储器单元中的方法。根据存储在一个存储器单元中的位数,mlc方法可以被分类为三层单元(tlc)方法和四层单元(qlc)方法等。在图5中,示出了slc方法和tlc方法的阈值电压分布作为示例。
55.在slc方法的编程操作中,可以根据阈值电压将存储器单元分为擦除状态er或编程状态p。在tlc方法的编程操作中,可以根据阈值电压将存储器单元划分为擦除状态er和七个编程状态p1至p7。存储器装置可以根据编程命令的类型按slc方法或tlc方法执行编程操作,并且可以根据读取命令的类型按slc方法或tlc方法执行读取操作。
56.图6是示出增量步进脉冲编程(incremental step pulse program,ispp)方法的编程操作的图。
57.参照图6,可以以其中编程电压逐渐增加的ispp方法来执行根据本实施方式的编程操作。也就是说,可以以ispp方法执行图5的slc方法或图5的tlc方法的编程操作。在ispp方法的编程操作中,可以执行多个编程循环l1至l6
……
。
58.当将所选页的整个编程操作定义为主编程操作时,在多个编程循环l1至l6
……
中的每一个中可以执行将编程电压施加到所选字线的子编程操作以及用于确定所选存储器单元是否被编程的验证操作。例如,在第一编程循环l1的子编程操作中,可以将第一编程电压1vpgm施加到所选字线,并且在验证操作中,可以将验证电压vf施加到所选字线。第一编程电压1vpgm可以是在主编程操作中使用的编程电压当中的最低电压。可以根据目标电压将验证电压vf设置为不同的电平。在验证操作中,当存储器单元的阈值电压低于验证电压vf时,1数据可以被存储在页缓冲器中,并且当阈值电压大于验证电压vf时,0数据可以被存储在页缓冲器中。还可以按与验证操作相同的方法来执行读取操作。
59.当所有的所选存储器单元的阈值电压都高于目标验证电压时,验证操作可以通过并且可以终止主编程操作。当验证操作失败直到编程循环l1至l6
……
的数量达到最大数量时,所选存储器块可以被作为坏块进行处理。
60.图7是示出根据本公开的实施方式的控制器的图。
61.参照图7,控制器1200可以包括测试管理器210、缓冲器220和存储器接口230。
62.测试管理器210可以被配置为生成在测试模式中用于控制存储器装置的测试操作的命令,对在测试操作期间使用的电压进行运算(operate),并且根据测试操作的结果来生成存储器块的状态信息。测试管理器210可以包括命令生成器211、电压运算器(voltage operator)212和状态检测器(状态确定器)213。
63.命令生成器211可以生成用于测试操作的编程命令、挂起命令和读取命令,并输出所生成的命令。例如,在测试操作模式下,命令生成器211可以生成slc方法的编程命令、生成用于挂起编程操作的挂起命令并且生成tlc方法的读取命令。
64.电压运算器212可以被配置为通过对在测试操作中使用的读取电压进行运算来输出电压差(voltage difference)。例如,当在测试操作中使用第一读取电压和第二读取电压时,电压运算器212可以对第一读取电压和第二读取电压进行减法(subtraction)运算,并输出运算值(operated value)的绝对值作为电压差。当第二读取电压高于第一读取电压时,电压运算器212可以输出通过从第二读取电压减去第一读取电压而获得的值作为电压差。另选地,电压运算器212可以输出通过从第一读取电压减去第二读取电压而获得的值的绝对值作为电压差。
65.状态检测器213可以被配置为根据测试操作的结果生成并输出状态信息。例如,状态检测器213可以被配置为在测试操作期间根据从存储器块读取的数据的计数值来确定存储器块的状态并生成状态信息。另选地,状态检测器213可以被配置为在测试操作期间将从电压运算器212输出的电压差与参考值进行比较、根据比较结果确定存储器块的状态、并生成状态信息。
66.缓冲器220可以被配置为存储控制器1200中使用的各项信息或值。例如,缓冲器220可以包括存储了在测试操作中使用的读取电压的各个电压值的电压表221,并且可以包括存储了每个存储器块的状态信息的状态表222。
67.存储器接口230可以被配置为在控制器1200和存储器装置之间发送命令、地址和数据,并且对从存储器装置输出的数据的0或1的数量或者0和1的数量进行计数。例如,存储器接口230可以包括命令队列231和计数器232。
68.命令队列231可以被配置为根据设置的顺序和时间将从测试管理器210输出的命
令依次输出到存储器装置。例如,命令队列231可以被配置为在测试操作期间对编程命令、挂起命令、恢复命令和多个读取命令进行排队并且根据预定的输出顺序依次输出命令。诸如预定的输出顺序的如本文中针对参数所使用的词“预定的”是指在过程或算法中使用参数之前确定针对参数的值。针对一些实施方式,在过程或算法开始之前确定参数的值。在其它实施方式中,在过程或算法期间但在过程或算法中使用参数之前确定参数的值。
69.计数器232可以被配置为对从存储器装置输出的数据的0或1的数量或者0和1的数量进行计数。例如,计数器232可以被配置为输出通过仅对所接收的数据当中的0的数量进行计数而获得的计数值,输出通过仅对1的数量进行计数而获得的计数值,或输出通过对0的数量进行计数而获得的计数值和通过对1的数量进行计数而获得的计数值。
70.图8是示出根据本公开的第一实施方式的操作存储器系统的方法的流程图。
71.参照图8,当开始测试模式时,控制器可以生成编程命令cmd_p,并且将编程命令cmd_p发送到存储器装置(s81)。此时,编程命令cmd_p可以是用于执行slc方法的编程操作的命令。控制器可以将要对其执行测试操作的存储器块的地址以及测试数据与编程命令cmd_p一起发送到存储器装置。存储器装置可以响应于编程命令cmd_p而执行编程操作。
72.测试数据可以是能够增大存储器单元的阈值电压的数据,并且可以是仅由逻辑低数据(即,“0”)形成的数据。在被设置为对0数据进行编程的存储器装置中,测试数据可以仅由0形成,但是在被设置为对逻辑高数据(即,“1”)进行编程的存储器装置中,测试数据可以仅由1形成。例如,在被设置为对0数据进行编程的存储器装置中,存储器单元可以通过1数据而维持擦除状态并且可以通过0数据而进行编程。相反,在被设置为对1数据进行编程的存储器装置中,存储器单元可以通过0数据而维持擦除状态,并且可以通过1数据而进行编程。在以下描述的实施方式中,以被设置为通过0数据增大存储器单元的阈值电压的存储器装置为例进行描述。存储器装置可以通过仅由0形成的测试数据来执行编程操作。例如,在将0数据存储在页缓冲器中之后,存储器装置可以将与0数据相对应的编程允许电压(例如,0v)施加到与页缓冲器连接的位线。随后,存储器装置可以通过将编程电压施加到所选字线并且将通过电压施加到未选字线来将测试数据编程在被包括在所选存储器块的所选页中的所有存储器单元中。
73.在输出编程命令cmd_p之后,控制器可以根据设置时间(set time)将挂起命令cmd_s发送到存储器装置(s82)。挂起命令是用于挂起在存储器装置中正在执行的操作的命令。由于存储器装置响应于编程命令cmd_p而正在执行编程操作,因此存储器装置可以响应于挂起命令cmd_s而挂起编程操作。例如,在测试模式下,可以在控制器中设置输出挂起命令cmd_s的时间,并且控制器可以在输出了编程命令cmd_p(s81)之后经过了设置时间之后输出挂起命令cmd_s。用于输出挂起命令cmd_s的设置时间可以被设置为其中编程电压可以被施加两次或更多次的时间,但是在本实施方式中,设置时间可以被设置为其中编程电压被施加一次的时间以便于缩短测试操作所需的时间。也就是说,设置时间可以包括当存储器装置响应于编程命令cmd_p而准备编程操作的时间以及当编程操作开始并且编程电压被施加到所选字线一次的时间。
74.由于在存储器装置正在执行编程操作时挂起编程操作,因此存储器装置处于未完成编程操作的状态。因此,控制器可以将用于终止编程操作的终止命令cmd_t发送到存储器装置(s83)。
75.随后,控制器可以将第一读取命令cmd_r1发送到存储器装置,以确定经编程的存储器单元的状态(s84)。例如,第一读取命令cmd_r1可以是用于使用第一读取电压v1读取存储器单元的命令,并且可以按tlc方法设置。例如,在tlc方法中,由于阈值电压分布的数量大于slc方法的阈值电压分布的数量,因此可以在读取操作中使用的读取电压的数量大于阈值电压分布的数量。因此,当按tlc方法设置第一读取命令cmd_r1时,可以在测试操作中使用各种读取电压。第一读取电压v1可以是tlc方法中的最低读取电压,并且第一读取电压v1可以在测试操作中用于检测具有相对较低的阈值电压的存储器单元。也就是说,第一读取电压v1可以是用于检测编程操作比正常速度慢的慢速单元(slow cell)的测试电压。
76.存储器装置可以响应于第一读取命令cmd_r1将从所选存储器块的所选页读取的数据输出到控制器。
77.控制器可以根据从存储器装置输出的数据来确定在所选存储器块中是否包括慢速单元(s85)。由于在步骤s81中将测试数据设置为0,因此具有低于第一读取电压v1的阈值电压的存储器单元的数据可以为1,并且具有等于或大于第一读取电压v1的阈值电压的存储器单元的数据可以为0。
78.因此,在步骤s85中,当接收到的数据不包括1或数据为1的存储器单元的数量小于慢速参考数量(slow reference number)时(否),控制器可以将所选存储器块的慢速状态信息存储为正常状态(s86)。慢速参考数量可以是用于即使在存储器块中包括慢速单元也防止将慢速单元的数量较少的存储器块作为坏块进行处理的参考值,并且可以根据存储器装置被设置为不同的值。
79.当在步骤s85中所有的所接收的数据均为1或数据为1的存储器单元的数量等于或大于慢速参考数量时(是),或者当在步骤s86中存储状态信息时,控制器可以将第二读取命令cmd_r2发送到存储器装置(s87)。
80.第二读取命令cmd_r2可以是用于使用高于第一读取电压v1的第二读取电压v2来读取存储器单元的命令,并且可以按tlc方法设置。例如,第二读取电压v2可以是在tlc方法中用于读取第二编程状态中的存储器单元的电压,并且可以在测试操作中用于检测具有相对较高阈值电压的存储器单元。也就是说,第二读取电压v2可以是用于检测其中编程操作比正常速度快的快速单元(fast cell)的测试电压。
81.存储器装置可以响应于第二读取命令cmd_r2而将从所选存储器块的所选页读取的数据输出到控制器。
82.控制器可以根据从存储器装置输出的数据来确定在所选存储器块中是否包括快速单元(s88)。由于在步骤s81中测试数据被设置为0,因此具有低于第二读取电压v2的阈值电压的存储器单元的数据可以为1,并且具有等于或大于第二读取电压v2的阈值电压的存储器单元的数据可以为0。
83.因此,在步骤s88中,当所接收的数据不包括0或数据为0的存储器单元的数量小于快速参考数量时(否),控制器可以将所选存储器块的快速状态信息存储为正常状态(s89)。快速参考数量可以是用于即使在存储器块中包括快速单元也防止将快速单元的数量较少的存储器块作为坏块进行处理的参考值,并且可以根据存储器装置被设置为不同的值。当确定所选存储器块的快速状态正常时,控制器可以终止所选存储器块的测试操作。
84.在步骤s88中,当所有数据均为0或数据为0的存储器单元的数量等于或大于快速
参考数量时(是),控制器可以将所选存储器块作为坏块进行处理(s90)。
85.图9是示出根据第一实施方式的命令发送方法的图。
86.参照图9,示出了在所选存储器块的测试操作期间从控制器输出的命令。例如,控制器中包括的命令队列231可以临时存储从图7的测试管理器210输出的命令,确定命令的输出顺序和输出时间,并且依次输出命令。例如,当将编程命令cmd_p、挂起命令cmd_s、终止命令cmd_t、第一读取命令cmd_r1和第二读取命令cmd_r2被输入到命令队列231时,命令队列可以按照编程命令cmd_p、挂起命令cmd_s、终止命令cmd_t、第一读取命令cmd_r1和第二读取命令cmd_r2的顺序对命令进行排队。由于在本实施方式的测试操作中使用的编程命令cmd_p是在存储器装置中使用的正常编程命令,因此存储器装置可以响应于编程命令而执行正常编程操作。例如,存储器装置可以按ispp方法执行编程操作。由于在ispp方法的编程操作中执行了多个编程循环,因此在测试操作中,挂起命令cmd_s可以用于执行仅第一编程循环或包括在第一编程循环中的一些操作。因此,在本实施方式中,可以根据编程命令cmd_p的输出与挂起命令cmd_s的输出之间的延迟时间t_del确定测试操作所需的时间。例如,延迟时间t_del可以包括在输出编程命令cmd_p之后存储器装置设置用于编程操作的电压的时间,以及以设置次数将编程电压施加到所选字线的时间。因此,命令队列231可以在输出编程命令cmd_p之后经过了延迟时间t_del的时间点输出挂起命令cmd_s。设置次数可以被设置为一次,以缩短测试操作所需的时间。
87.随后,命令队列231可以输出用于终止存储器装置中的编程操作的终止命令cmd_t,并且可以输出用于读取存储器单元的阈值电压的第一读取命令cmd_r1。当控制器接收到根据第一读取命令cmd_r1读取的数据时,命令队列231可以输出第二读取命令cmd_r2。
88.图10是示出根据第一实施方式的挂起命令的输出时间的图。
89.参照图10,可以在输出编程命令cmd_p之后经过了延迟时间t_del的时间点输出挂起命令cmd_s。延迟时间t_del可以被设置为使得第一编程电压1vpgm被施加到所选字线一次。例如,延迟时间t_del可以被设置为第一时间t1,以使得可以在将第一编程电压1vpgm施加到所选字线的同时输出挂起命令cmd_s。当在将第一编程电压1vpgm施加到所选字线的同时挂起命令cmd_s输入时,存储器装置可以在编程操作中的预设时间期间将第一编程电压1vpgm施加到所选字线,并且然后挂起编程操作。也就是说,即使接收到挂起命令cmd_s,存储器装置也可以在完成当前正在执行的编程循环的编程电压施加操作之后挂起编程操作。因此,为了在上述预设时间期间将第一编程电压1vpgm施加到所选字线之后挂起编程操作,可以在第一编程电压1vpgm被施加到所选字线时的第一时间t1输出挂起命令cmd_s,或者可以在施加编程电压的操作与验证操作之间的第二时间t2输出挂起命令cmd_s。也就是说,当在执行验证操作之前的第一时间t1或第二时间t2输出挂起命令cmd_s时,可以在执行将第一编程电压1vpgm施加到所选字线的操作之后挂起编程操作。
90.图11是示出根据第一实施方式的电压表的图。
91.参照图11,在第一实施方式中,可以响应于第一读取命令来执行使用第一读取电压v1的读取操作,并且可以响应于第二读取命令来执行使用第二读取电压v2的读取操作。在电压表221中,可以与第一索引ind_t1相对应地存储针对第一读取电压v1的第一电压代码vcd1,并且可以与第二索引ind_t2相对应地存储针对第二读取电压v2的第二电压代码vcd2。
92.例如,当图7的命令生成器211输出第一读取命令时,与第一读取命令相对应的第一索引ind_t1可以被发送到图7的缓冲器220,并且缓冲器220可以从电压表221输出与第一索引ind_t1相对应的第一电压代码vcd1。在第一读取操作完成之后,当命令生成器211输出第二读取命令时,与第二读取命令相对应的第二索引ind_t2可以被发送到缓冲器220,并且缓冲器220可以从电压表221输出与第二索引ind_t2相对应的第二电压代码vcd2。
93.第二读取电压v2可以高于第一读取电压v1。第一读取电压v1可以是可以在tlc方法的读取操作中使用的最低读取电压,并且第二读取电压v2可以是在tlc方法的读取操作中可以使用的挨着第一读取电压v1的第二低的读取电压。
94.图12是示出根据第一实施方式的在测试操作中检查存储器单元的状态的方法的图。
95.参照图12,可以通过第一编程电压来增大存储器单元的阈值电压。此时,假设可以通过第一编程电压增大的正常存储器单元的阈值电压分布在第一读取电压v1和第二读取电压v2之间。
96.当所选存储器块中包括的存储器单元的阈值电压存在于第一读取电压和第二读取电压之间(v1至v2)时,图7的状态检测器213可以将所选存储器块确定为正常状态stn,当阈值电压低于第一读取电压v1时,状态检测器213可以将所选存储器块确定为慢速状态sts,并且当阈值电压高于第二读取电压v2时,状态检测器213可以将所选存储器块确定为快速状态stf。
97.状态检测器213可以根据从第一读取操作和第二读取操作中的每一个输出的数据将所选存储器块的状态分类为正常状态stn、慢速状态sts或快速状态stf,并且可以将被确定为快速状态stf的存储器块作为坏块进行处理。
98.在第一读取操作中,阈值电压高于第一读取电压v1的存储器单元的数据可以为0,并且阈值电压低于第一读取电压v1的存储器单元的数据可以为1。包括在控制器中的图7的计数器232可以对从存储器装置接收的数据中包括的0和1的数量进行计数,并且将作为计数结果输出的计数值发送到状态检测器213。状态检测器213可以根据计数值将所选存储器块的状态确定为正常状态stn或慢速状态sts。
99.在第二读取操作中,阈值电压高于第二读取电压v2的存储器单元的数据可以为0,并且阈值电压低于第二读取电压v2的存储器单元的数据可以为1。包括在控制器中的图7的计数器232可以对从存储器装置接收的数据中包括的0和1的数量进行计数,并且将作为计数结果输出的计数值发送到状态检测器213。状态检测器213可以根据计数值将所选存储器块的状态确定为正常状态stn或快速状态stf,并且可以将被确定为快速状态stf的存储器块作为坏块进行处理。
100.下面描述根据从存储器装置接收的数据确定存储器块的状态的过程。
101.图13是示出根据第一实施方式的确定存储器块的状态的方法的图。
102.参照图13,当存储器装置输出读取的数据data时,计数器232可以对数据data中包括的0数据的数量和1数据的数量中的每一个进行计数。例如,计数器232可以对0数据进行计数以输出第一计数值val_0,并且对1数据进行计数以输出第二计数值val_1。
103.状态检测器213可以通过根据第一计数值val_0和第二计数值val_1确定存储器块的状态来生成状态信息info_st。
104.在第一计数值val_0和第二计数值val_1是针对在第一读取操作中输出的数据的值的情况下,当第二计数值val_1的数量大于慢速参考数量时,状态检测器213可以生成指示所选存储器块的状态为慢速状态的状态信息info_st。当第二计数值val_1的数量小于慢速参考数量时,状态检测器213可以生成指示所选存储器块的状态为正常状态的状态信息info_st。
105.在第一计数值val_0和第二计数值val_1是针对在第二读取操作中输出的数据的值的情况下,当第一计数值val_0的数量大于快速参考数量时,状态检测器213可以生成指示所选存储器块是坏块的状态信息info_st。当第一计数值val_0的数量小于快速参考数量时,状态检测器213可以生成指示所选存储器块的状态为正常状态的状态信息info_st。状态检测器213可以将所生成的状态信息info_st存储在状态表222中。
106.状态表222可以存储与第一存储器块blk1至第i存储器块blki中的每一个相对应的状态信息info_st。参照图13所示的状态表222的示例,第一存储器块blk1的状态信息info_st指示慢速状态,这意味着第一存储器块blk1不是坏块而是包括慢速单元。第二存储器块blk2的状态信息info_st指示正常状态,并且第三存储器块blk3的状态信息info_st指示坏块bad。
107.控制器可以通过参考存储在状态表222中的存储器块的状态信息来执行正常操作。例如,控制器可以针对处于正常状态的存储器块在编程操作、读取操作或擦除操作期间使用在控制器中设置的基础值(basic value)来设置编程操作、读取操作或擦除操作。针对处于慢速状态的存储器块,控制器可以管理地址,以使得执行编程和擦除操作的次数小于处于正常状态的存储器块的执行编程和擦除操作的次数。
108.图14是示出根据本公开的第二实施方式的操作存储器系统的方法的流程图。
109.当开始测试模式时,控制器可以生成编程命令cmd_p,并将编程命令cmd_p发送到存储器装置(s141)。此时,编程命令cmd_p可以是用于执行slc方法的编程操作的命令。控制器可以将要对其执行测试操作的存储器块的地址以及测试数据与编程命令cmd_p一起发送到存储器装置。存储器装置可以响应于编程命令cmd_p执行编程操作。
110.测试数据可以是能够增大存储器单元的阈值电压的数据,并且可以是仅由0形成的数据。在被设置为对0数据进行编程的存储器装置中,测试数据可以仅由0形成,但是在被设置为对1数据进行编程的存储器装置中,测试数据可以仅由1形成。例如,在被设置为对0数据进行编程的存储器装置中,存储器单元可以通过1数据而维持擦除状态并且可以通过0数据而进行编程。相反,在被设置为对1数据进行编程的存储器装置中,存储器单元可以通过0数据而维持擦除状态,并且可以通过1数据而进行编程。在以下描述的实施方式中,以被设置为通过0数据增大存储器单元的阈值电压的存储器装置为例进行描述。存储器装置可以通过仅由0形成的测试数据来执行编程操作。例如,在将0数据存储在页缓冲器中之后,存储器装置可以将与0数据相对应的编程允许电压(例如,0v)施加到与页缓冲器连接的位线。随后,存储器装置可以通过将编程电压施加到所选字线并且将通过电压施加到未选字线来将测试数据编程到包括在所选存储器块的所选页中的所有存储器单元中。
111.在输出编程命令cmd_p之后,控制器可以根据设置时间将挂起命令cmd_s发送到存储器装置(s142)。挂起命令是用于挂起在存储器装置中正在执行的操作的命令。由于存储器装置响应于编程命令cmd_p而正在执行编程操作,因此存储器装置可以响应于挂起命令
cmd_s而挂起编程操作。例如,在测试模式下,可以在控制器中设置输出挂起命令cmd_s的时间,并且控制器可以在输出编程命令cmd_p(s141)之后又经过了设置时间之后输出挂起命令cmd_s。用于输出挂起命令cmd_s的设置时间可以被设置为可以施加编程电压两次或更多次的时间,但是在本实施方式中,设置时间可以被设置为施加编程电压一次的时间,以便于缩短测试操作所需的时间。也就是说,设置时间可以包括存储器装置响应于编程命令cmd_p而准备编程操作的时间,以及编程操作开始并且编程电压被施加到所选字线一次的时间。
112.当通过挂起命令cmd_s挂起编程操作时,存储器装置处于编程操作未完成的状态。因此,控制器可以将用于终止编程操作的终止命令cmd_t发送到存储器装置(s143)。
113.随后,控制器可以将第一读取命令cmd_r1发送到存储器装置以确定经编程的存储器单元的状态(s144)。例如,第一读取命令cmd_r1可以是用于使用第一读取电压v1读取存储器单元的命令,并且可以按tlc方法设置。例如,在tlc方法中,由于阈值电压分布的数量大于slc方法的阈值电压分布的数量,因此可以在读取操作中使用的读取电压的数量大于阈值电压分布的数量。因此,当按tlc方法设置第一读取命令cmd_r1时,可以在测试操作中使用各种读取电压。第一读取电压v1可以是tlc方法中的最低读取电压,并且可以在测试操作中用于检测具有相对较低的阈值电压的存储器单元。也就是说,第一读取电压v1可以是用于检测编程操作比正常速度慢的慢速单元的测试电压。
114.存储器装置可以响应于第一读取命令cmd_r1将从所选存储器块的所选页读取的数据输出到控制器。
115.控制器可以根据从存储器装置输出的数据来确定在所选存储器块中是否包括慢速单元(s145)。由于在步骤s141中发送到存储器装置的测试数据为0,因此具有低于第一读取电压v1的阈值电压的存储器单元的数据可以为1。并且具有等于或大于第一读取电压v1的阈值电压的存储器单元的数据可以为0。
116.因此,在步骤s145中,当所接收的数据不包括1或者数据为1的存储器单元的数量小于慢速参考数量时(否),控制器可以将所选存储器块的慢速状态信息存储为正常状态(s146)。慢速参考数量可以是用于即使在存储器块中包括慢速单元也防止将慢速单元的数量较少的存储器块作为坏块进行处理的参考值,并且可以根据存储器装置被设置为不同的值。
117.当在步骤s145中所有所接收的数据为1或者数据为1的存储器单元的数量等于或大于慢速参考数量时(是),控制器可以执行第一子读取操作以到第一子读取电压v1sub。例如,第一子读取操作可以包括分别使用多个子读取电压读取存储器单元的多个读取操作。可以执行第一子读取操作以到慢速单元的数量开始变为小于慢速参考数量的读取电压。为此,在第一子读取操作中,可以依次执行使用比第一读取电压v1渐次更低的子读取电压的多个读取操作。当在步骤s147中检测到慢速单元的数量小于慢速参考数量的读取电压或在步骤s146中存储了状态信息时,控制器可以将第二读取命令cmd_r2发送到存储器装置(s148)。
118.第二读取命令cmd_r2可以是用于使用高于第一读取电压v1的第二读取电压v2来读取存储器单元的命令,并且可以按tlc方法设置。例如,第二读取电压v2可以是在tlc方法中用于读取第二编程状态中的存储器单元的电压,并且可以在测试操作中用于检测具有相对较高阈值电压的存储器单元。也就是说,第二读取电压v2可以是用于检测其中编程操作
比正常速度快的快速单元的测试电压。
119.存储器装置可以响应于第二读取命令cmd_r2,将从所选存储器块的所选页读取的数据输出到控制器。
120.控制器可以根据从存储器装置输出的数据来确定在所选存储器块中是否包括快速单元(s149)。具有低于第二读取电压v2的阈值电压的存储器单元的数据可以为1,并且具有等于或大于第二读取电压v2的阈值电压的存储器单元的数据可以为0。
121.因此,在步骤s149中,当所接收的数据不包括0或数据为0的存储器单元的数量小于快速参考数量时(否),控制器可以将所选存储器块的快速状态信息存储为正常状态(s150)。快速参考数量可以是用于即使在存储器块中包括快速单元也防止将快速单元的数量较少的存储器块作为坏块进行处理的参考值,并且可以根据存储器装置被设置为不同的值。当确定所选存储器块的状态是正常状态时,控制器可以终止所选存储器块的测试操作。
122.在步骤s149中,当所有数据均为0或数据为0的存储器单元的数量等于或大于快速参考数量时(是),控制器可以执行用于到第二子读取电压v2sub的第二子读取操作。例如,第二子读取操作可以包括分别使用多个子读取电压读取存储器单元的多个读取操作。可以执行第二子读取操作以到快速单元的数量开始变为小于快速参考数量的读取电压。为此,在第二子读取操作中,可以依次执行使用比第二读取电压v2渐次更低的子读取电压的多个读取操作。
123.当在步骤s151中检测到快速单元的数量小于快速参考数量的读取电压时,控制器可以计算在步骤s147中检测到的第一子读取电压v1sub和在步骤s151中检测到的第二子读取电压v2sub之间的电压差vdif(s152)。
124.随后,控制器可以通过比较电压差vdif和参考电压vref来确定存储器块的状态(s153)。
125.当电压差vdif等于或大于参考电压vref时(是),控制器可以将存储器块作为坏块进行处理(s154)。也就是说,由于电压差vdif大于参考电压(vref)的情况意味着阈值电压分布的宽度由于存储器块中的慢速单元和快速单元而较宽,因此控制器可以将这样的存储器块作为坏块进行处理。
126.在步骤s153中,当电压差vdif小于参考电压vref时(否),控制器可以生成并存储存储器块的状态信息(s150)。也就是说,由于电压差vdif小于参考电压vref的情况意味着在存储器块中包括慢速单元和快速单元,但可靠性并不足够低以至于引起错误,因此控制器可以不将这样的存储器块作为坏块进行处理,并且存储存储器块的状态信息。
127.控制器可以根据在步骤s146和s150中存储的存储器块的状态信息来调整存储器块在随后的操作中进行操作的次数。
128.图15是示出根据第二实施方式的电压表的图。
129.参照图15,在第二实施方式中,多个子读取电压可以用于到慢速单元所分布在的阈值电压(参照图14的步骤s147)和快速单元所分布在的阈值电压(参照图14的步骤s151)。
130.电压表221可以存储可以在这种读取操作中使用的具有各种电平的读取电压,以及针对每个子读取电压的电压代码。
131.例如,在电压表221中,可以与第一索引ind_t1相对应地存储针对第一读取电压v1
的第一电压代码vcd1,并且可以与不同的索引ind_t1_a1至ind_t1_a3相对应地存储针对可以在第一子读取操作中使用的各个第一子读取电压v1sub的子电压代码vcd11、vcd12和vcd13。另外,在电压表221中,可以与第二索引ind_t2相对应地存储针对第二读取电压v2的第二电压代码vcd2,并且可以与不同的索引ind_t2_b1至ind_t2_b3相对应地存储针对可以在第二子读取操作中使用的各个第二子读取电压v2sub的子电压代码vcd21、vcd22和vcd23。
132.第一子读取电压v1sub和第二子读取电压v2sub被描述如下。
133.第一子读取电压v1sub可以是用于检查慢速单元的分布的电压,并且可以包括第十一子读取电压v1-a1至第十三子读取电压v1-a3。第十一子读取电压v1-a1可以被设置为比第一读取电压v1低a1的电平,第十二子读取电压v1-a2可以被设置为比第一读取电压v1低a2的电平,并且第十三子读取电压v1-a3可以被设置为比第一读取电压v1低a3的电平。a2可以是高于a1的正电压,并且a3可以是高于a2的正电压。
134.第二子读取电压v2sub可以是用于检查快速单元的分布的电压,并且可以包括第二十一子读取电压v2+b1至第二十三子读取电压v2+b3。第二十一子读取电压v2+b1可以被设置为比第二读取电压v2高b1的电平,第二十二子读取电压v2+b2可以被设置为比第二读取电压v2高b2的电平,并且第二十三子读取电压v2+b3可以被设置为比第二读取电压v2高b3的电平。b2可以是高于b1的正电压,并且b3可以是高于b2的正电压。
135.图16是示出根据第二实施方式的在测试操作中检查存储器单元的状态的方法的图。
136.参照图16,可以通过第一编程电压来增大存储器单元的阈值电压。此时,假设可以通过第一编程电压增大的正常存储器单元的阈值电压分布在第一读取电压v1和第二读取电压v2之间。
137.当所选存储器块中包括的存储器单元的阈值电压存在于第一读取电压和第二读取电压之间(v1至v2)时,图7的状态检测器213可以将所选存储器块确定为正常状态stn。
138.作为第一读取操作的结果,当确定存储器单元的阈值电压低于第一读取电压v1时,控制器可以执行使用从第一读取电压v1开始逐渐减小的第十一子读取电压v1-a1至第十三子读取电压v1-a3的第一子读取操作。例如,当执行使用第十一子读取电压v1-a1的子读取操作时,图7的状态检测器213可以确定在所选子读取操作中检测到的慢速单元的数量是否小于慢速参考数量。当确定慢速单元的数量大于慢速参考数量时,控制器可以执行使用第十二子读取电压v1-a2的子读取操作。当在使用第十二子读取电压v1-a2的子读取操作中也确定慢速单元的数量大于慢速参考数量时,控制器可以执行使用第十三子读取电压v1-a3的子读取操作。当在使用第十三子读取电压v1-a3的子读取操作中确定慢速单元的数量小于慢速参考数量时,控制器可以临时存储用于该操作的第十三子读取电压v1-a3(图14的步骤s151)。
139.作为第二读取操作的结果,当确定存储器单元的阈值电压高于第二读取电压v2时,控制器可以执行使用从第二读取电压v2开始逐渐增大的第二十一子读取电压v2+b1至第二十三子读取电压v2+b3的第二子读取操作。例如,当执行使用第二十一子读取电压v2+b1的子读取操作时,图7的状态检测器213可以确定在所选子读取操作中检测到的快速单元的数量是否小于快速参考数量。当确定快速单元的数量大于快速参考数量时,控制器可以
执行使用第二十二子读取电压v2+b2的子读取操作。即使在使用第二十二子读取电压v2+b2的子读取操作中检测到快速单元,当确定快速单元的数量小于快速参考数量时,控制器可以临时存储用于该操作的第二十二子读取电压v2+b2(图14的步骤s151)。
140.控制器可以计算临时存储的第二十二子读取电压v2+b2和第十三子读取电压v1-a3之间的电压差,将电压差与参考电压进行比较,并且确定所选存储器块的状态。
141.图17是示出根据第二实施方式的状态表的图。
142.参照图17,状态表222可以存储针对第一存储器块blk1至第i存储器块blki中的每一个的状态信息info_st。参照图17所示的状态表222,第一存储器块blk1的状态信息info_st可以指示第一慢速状态slow_st1,第一慢速状态slow_st1可以指示其中最低阈值电压和最高阈值电压之间的电压差小于参考电压,但包括在存储器块中的慢速单元的数量多于快速单元的状态。第二存储器块blk2的状态信息info_st可以指示第二慢速状态slow_st2,第二慢速状态slow_st2可以指示其中最低阈值电压和最高阈值电压之间的电压差小于参考电压,但包括在存储器块中的慢速单元的数量大于第一慢速状态slow_st1的慢速单元的数量的状态。第三存储器块blk3的状态信息info_st可以指示坏块bad,坏块bad可以指示最低阈值电压和最高阈值电压之间的电压差大于参考电压的存储器块。第五存储器块blk5的状态信息info_st可以指示第一快速状态fast_st1,第一快速状态fast_st1可以意味着最低阈值电压和最高阈值电压之间的电压差小于参考电压,但包括在存储器块中的快速单元的数量多于慢速单元的状态。第六存储器块blk6的状态信息info_st可以指示第二快速状态fast_st2,第二快速状态fast_st2可以意味着最低阈值电压和最高阈值电压之间的电压差小于参考电压,但包括在存储器块中的快速单元的数量大于第一快速状态fast_st1的快速单元数量的状态。
143.控制器可以通过参考存储在状态表222中的存储器块的状态信息info_st来执行正常操作。例如,控制器可以针对正常状态下的存储器块在编程操作、读取操作或擦除操作期间使用在控制器中设置的基础值来设置编程操作、读取操作或擦除操作。针对慢速状态下的存储器块,控制器可以管理地址,以使得执行编程和擦除操作的次数少于正常状态下的存储器块执行编程和擦除操作的次数。控制器可以仅在slc方法中使用快速状态下的存储器块。
144.由于上述测试操作可以在存储器装置的制造步骤中使用控制器来执行,或者也可以在封装后使用控制器来执行,因此本实施方式的测试操作不受存储器装置或存储器系统的制造步骤的限制。
145.图18是示出根据本公开的实施方式的存储器系统的另一实施方式的图。
146.参照图18,存储卡系统2000包括存储器控制器2100、存储器装置2200和连接件2300。
147.存储器控制器2100连接到存储器装置2200。存储器控制器2100被配置为接入存储器装置2200。例如,存储器控制器2100可以被配置为控制存储器装置2200的编程操作、读取操作或擦除操作,或者控制后台操作。存储器控制器2100被配置为在存储器装置2200和主机之间提供接口。存储器控制器2100被配置为驱动用于控制存储器装置2200的固件。存储器装置2200可以与参照图2描述的图1的存储器装置100相同地进行配置。
148.存储器控制器2100可以通过连接件2300与外部装置进行通信。存储器控制器2100
可以根据特定的通信标准与外部装置(例如,主机)进行通信。作为示例,存储器控制器2100被配置为通过诸如通用串行总线(usb)、多媒体卡(mmc)、嵌入式mmc(emmc)、外围组件互连(pci)、pci express(pci-e)、高级技术附件(ata)、串行ata、并行ata、小型计算机系统接口(scsi)、增强型小型磁盘接口(esdi)、集成驱动电子设备(ide)、火线、通用闪存存储(ufs)、wi-fi、蓝牙和nvme的各种通信标准中的至少一个与外部装置进行通信。作为示例,连接件2300可以通过上述各种通信标准中的至少一个来定义。
149.作为示例,存储器装置2200可以由诸如电可擦除可编程rom(eeprom)、nand闪存存储器、nor闪存存储器、相变ram(pram)、电阻ram(reram)、铁电ram(fram)和自旋转移力矩磁ram(stt-mram)的各种非易失性存储器元件构成。
150.存储器控制器2100和存储器装置2200可以被集成到一个半导体装置中以配置存储卡。例如,存储器控制器2100和存储器装置2200可以被集成到一个半导体装置中,以构成诸如pc卡(个人计算机存储卡国际协会(pcmcia))、紧凑型闪存卡(cf)、智能媒体卡(sm或smc)、记忆棒、多媒体卡(mmc、rs-mmc、mmcmicro或emmc)、sd卡(sd、minisd、microsd或sdhc)和通用闪存存储(ufs)的存储卡。
151.图19是示出根据本公开的实施方式的存储器系统的又一实施方式的图。
152.参照图19,ssd系统3000包括主机3100和ssd 3200。ssd 3200通过信号连接件3001与主机3100交换信号,并通过电源连接件3002接收电源电压。ssd 3200包括ssd控制器3210、多个闪存存储器3221至322n、辅助电源3230和缓冲存储器3240。
153.根据本公开的实施方式,闪存存储器3221至322n可以与参照图2描述的存储器装置1100相同地进行配置。
154.ssd控制器3210可以响应于从主机3100接收的信号来控制多个闪存存储器3221至322n。作为示例,信号可以是基于主机3100和ssd 3200之间的接口的信号。例如,该信号可以是通过诸如通用串行总线(usb)、多媒体卡(mmc)、嵌入式mmc(emmc)、外围组件互连(pci)、pci express(pci-e)、高级技术附件(ata)、串行ata、并行ata、小型计算机系统接口(scsi)、增强型小型磁盘接口(esdi)、集成驱动电子设备(ide)、火线、通用闪存存储(ufs)、wi-fi、蓝牙和nvme的接口中的至少一个定义的信号。
155.辅助电源3230通过电源连接件3002连接到主机3100。辅助电源3230可以从主机3100接收电力并且可以对电力充电。当来自主机3100的电源不平稳时,辅助电源3230可以提供ssd 3200的电力。作为示例,辅助电源3230可以位于ssd 3200中或可以位于ssd 3200外部。例如,辅助电源3230可以位于主板上,并且可以向ssd 3200提供辅助电力。
156.缓冲存储器3240用作ssd 3200的缓冲存储器。例如,缓冲存储器3240可以临时存储从主机3100接收的数据或从多个闪存存储器3221至322n接收的数据,或者可以临时存储闪存存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可以包括诸如dram、sdram、ddr sdram和lpddr sdram的易失性存储器,或者诸如fram、reram、stt-mram和pram的非易失性存储器。
157.相关申请的交叉引用
158.本技术要求于2020年9月22日在韩国知识产权局提交的韩国专利申请第10-2020-0122225号的优先权,其全部公开内容通过引用合并于此。
技术特征:
1.一种控制器,该控制器包括:测试管理器,
所述测试管理器输出用于执行对存储器块的编程操作的编程命令和用于挂起所述编程操作的挂起命令;以及存储器接口,所述存储器接口将所述编程命令发送到包括所述存储器块的存储器装置,并在经过设置时间之后将所述挂起命令发送到所述存储器装置,其中,所述测试管理器输出用于读取包括在所述存储器块中的存储器单元的读取命令,所述存储器接口通过对响应于所述读取命令而从所述存储器装置输出的数据进行计数来计算计数值,并且所述测试管理器根据所述计数值生成关于所述存储器块的状态信息。2.根据权利要求1所述的控制器,其中,所述测试管理器输出用于执行对所述存储器块的所述编程操作的第一方法的所述编程命令,其中,所述存储器接口将所述编程命令发送到包括所述存储器块的所述存储器装置,并且其中,所述测试管理器输出用于读取包括在所述存储器块中的所述存储器单元的第二方法的所述读取命令。3.根据权利要求2所述的控制器,其中,所述第一方法与所述第二方法不同。4.根据权利要求2所述的控制器,其中,所述测试管理器使用单层单元方法作为所述第一方法,并且使用三层单元方法作为所述第二方法。5.根据权利要求1所述的控制器,其中,所述测试管理器输出用于终止被挂起的所述编程操作的终止命令。6.根据权利要求5所述的控制器,其中,所述存储器接口将所述编程命令、所述挂起命令、所述终止命令和所述读取命令依次发送到所述存储器装置。7.根据权利要求1所述的控制器,其中,所述存储器接口在输出所述编程命令之后又经过延迟时间之后将所述挂起命令输出到所述存储器装置。8.根据权利要求7所述的控制器,其中,所述延迟时间是在所述存储器装置响应于所述编程命令开始所述编程操作之后以设置次数将编程电压施加到所述存储器单元所需的时间。9.根据权利要求8所述的控制器,其中,所述设置次数为一次。10.根据权利要求1所述的控制器,其中,当将所述读取命令发送到所述存储器装置时,所述存储器接口将用于检测所述存储器单元当中的慢速单元的第一读取命令发送到所述存储器装置,并且将用于检测所述存储器单元当中的快速单元的第二读取命令发送到所述存储器装置。11.根据权利要求10所述的控制器,其中,所述存储器接口接收响应于所述第一读取命令而从所述存储器装置输出的第一数据,计算通过对包括在所述第一数据中的逻辑低数据的数量进行计数而获得的第一计数值和通过对逻辑高数据的数量进行计数而获得的第二计数值,并且将所述第一计数值和所述第二计数值发送到所述测试管理器。12.根据权利要求11所述的控制器,其中,所述测试管理器在所述第一计数值大于慢速
参考值时将所述存储器块的状态确定为慢速状态,并且在所述第二计数值大于快速参考值时将所述存储器块作为坏块进行处理。13.根据权利要求1所述的控制器,该控制器还包括:缓冲器,所述缓冲器存储从所述测试管理器输出的所述状态信息。14.根据权利要求1所述的控制器,其中,当确定所述存储器块处于慢速状态时,所述测试管理器生成用于通过将包括在所述存储器块中的所述存储器单元当中的慢速单元的数量与慢速参考数量进行比较来确定所述存储器块的所述慢速状态的第一子读取命令,并且当确定所述存储器块处于快速状态时,所述测试管理器生成用于通过将包括在所述存储器块中的所述存储器单元当中的快速单元的数量与快速参考数量进行比较来确定所述存储器块的所述快速状态的第二子读取命令。15.根据权利要求14所述的控制器,其中,当确定所述存储器单元的最低阈值电压和最高阈值电压之间的电压差大于参考电压时,所述测试管理器将所述存储器块确定为坏块。16.根据权利要求15所述的控制器,其中,当所述电压差小于所述参考电压并且包括在所述存储器块中的所述慢速单元的数量大于所述快速单元的数量时,所述测试管理器生成所述状态信息以使得所述状态信息指示所述慢速状态,并且当所述电压差小于所述参考电压并且包括在所述存储器块中的所述快速单元的数量大于所述慢速单元的数量时,所述测试管理器生成所述状态信息以使得所述状态信息指示所述快速状态。17.一种控制器,该控制器包括:命令生成器,所述命令生成器输出用于执行对存储器块的编程操作的编程命令、用于挂起所述编程操作的挂起命令、用于检查所述存储器块的慢速状态的第一读取命令以及用于检查所述存储器块的快速状态的第二读取命令;命令队列,所述命令队列将所述编程命令、所述挂起命令、所述第一读取命令和所述第二读取命令依次发送到包括所述存储器块的存储器装置;计数器,所述计数器接收响应于所述第一读取命令和所述第二读取命令中的每一个而从所述存储器装置输出的第一数据和第二数据,并且通过对包括在所述第一数据和所述第二数据中的每一个中的不同的位的数量进行计数来输出计数值;以及状态确定器,所述状态确定器根据所述计数值确定所述存储器块的状态并生成状态信息。18.根据权利要求17所述的控制器,其中,所述命令队列在输出所述编程命令之后又经过延迟时间之后将所述挂起命令输出到所述存储器装置。19.根据权利要求18所述的控制器,其中,所述延迟时间是在所述存储器装置响应于所述编程命令而开始所述编程操作之后以设置次数将编程电压施加到所述存储器单元所需的时间。20.根据权利要求19所述的控制器,其中,所述设置次数为一次。21.根据权利要求18所述的控制器,其中,所述命令生成器还输出用于终止通过所述挂起命令被挂起的所述编程操作的终止命令。22.根据权利要求21所述的控制器,其中,所述命令队列在输出所述挂起命令之后,在输出所述第一读取命令之前输出所述终止命令。23.根据权利要求17所述的控制器,其中,所述计数器对根据所述第一读取命令接收的
所述第一数据中包括的逻辑低值的数量和逻辑高值的数量中的每一个进行计数,将作为计数结果计算出的第一计数值发送给所述状态确定器,对根据所述第二读取命令接收的所述第二数据中包括的逻辑低值的数量和逻辑高值的数量中的每一个进行计数,并且将作为计数结果计算出的第二计数值发送给所述状态确定器。24.根据权利要求23所述的控制器,其中,当所述第一计数值当中的与慢速单元相对应的值大于慢速参考值时,所述状态确定器将所述存储器块的状态确定为慢速状态,并且当所述第二计数值当中的与快速单元相对应的值大于快速参考值时,所述状态确定器将所述存储器块作为坏块进行处理。
技术总结
本公开涉及一种控制器和包括该控制器的存储器系统。控制器包括:测试管理器,测试管理器输出用于执行对存储器块的编程操作的编程命令和用于停止编程操作的挂起命令;以及存储器接口,存储器接口将编程命令发送到包括存储器块的存储器装置,并在经过设置时间之后将挂起命令发送到存储器装置。测试管理器输出用于读取包括在存储器块中的存储器单元的读取命令,存储器接口通过对响应于读取命令从存储器装置输出的数据进行计数来计算计数值,并且测试管理器根据计数值生成关于存储器块的状态信息。信息。信息。
技术研发人员:
李东旭 梁海昌 李宪昱
受保护的技术使用者:
爱思开海力士有限公司
技术研发日:
2021.04.28
技术公布日:
2022/3/29