CN103366826B - 一种nand闪存芯片及其棋盘格检查时的芯片编程方法 - Google Patents
一种nand闪存芯片及其棋盘格检查时的芯片编程方法 Download PDFInfo
- Publication number
- CN103366826B CN103366826B CN201210100117.8A CN201210100117A CN103366826B CN 103366826 B CN103366826 B CN 103366826B CN 201210100117 A CN201210100117 A CN 201210100117A CN 103366826 B CN103366826 B CN 103366826B
- Authority
- CN
- China
- Prior art keywords
- sequence
- page
- chip
- programming
- sent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Tests Of Electronic Circuits (AREA)
- Read Only Memory (AREA)
Abstract
本发明提供了一种NAND闪存芯片及其棋盘格检查时的芯片编程方法;NAND闪存芯片包括:主阵列、控制模块;内置样本生成器;所述控制模块用于当要进行棋盘格检查时,指示所述内置样本生成器生成进行芯片编程所需的序列;待所述内置样本生成器生成序列后,发起编程执行命令,将所述序列从所述内置样本生成器传送到所述主阵列中进行编程。本发明能提高NAND?Flash的测试速度,降低测试成本。
Description
技术领域
本发明涉及存储领域,尤其涉及一种NAND闪存芯片及其棋盘格检查时的芯片编程方法。
背景技术
在NANDFlash(闪存)测试中,有一项重要而基本的测试,其基本过程是:将整个芯片上的cell(单元)编程为“0”cell和“1”cell的间隔组合,与每个“0”cell相邻的周围四个cell都是“1”,与每个“1”cell相邻的周围四个cell都是“0”,该分布图又被称为“CheckBoard(棋盘格检查)”。图1是进行CheckBoard时芯片中一部分区域的示意图,包括排列成3行3列的9个cell,三列cell分别与三条位线BL<n-1>、BL<n>、BL<n+1>相连,三行cell分别与三条读信号WL<n-1>、WL<n>、WL<n+1>相连,n为大于1的整数;在测试时,将连接位线BL<n-1>和读信号WL<n+1>的cell编程为1,将连接位线BL<n>和读信号WL<n+1>的cell编程为0,将连接位线BL<n+1>和读信号WL<n+1>的cell编程为1,将连接位线BL<n-1>和读信号WL<n>的cell编程为0,将连接位线BL<n>和读信号WL<n>的cell编程为1,将连接位线BL<n+1>和读信号WL<n>的cell编程为0,将连接位线BL<n-1>和读信号WL<n-1>的cell编程为1,将连接位线BL<n>和读信号WL<n-1>的cell编程为0,将连接位线BL<n+1>和读信号WL<n-1>的cell编程为1;芯片上其它位置上的cell的情况可以类推。
该测试的基本目的是检查Bitline(位线)之间的short(短路)及坏点情况。
为了完成这样一个CheckBoard的测试,需要对芯片进行ChipProgram(芯片编程)操作。NandFlash的Program(编程)是以Page(页)以基础的,必须一个Page做完后再进行下一个Page的Program操作,也就是PagebyPage的进行。一个Page一般对应于一条Wordline(字线),大小不同density(密度)的NANDFlash会有所不同,一般为512Byte(字节)、2KByte、4KByte等size(尺寸)。
ChipProgram的具体过程如图2所示:要执行一次PageProgram操作,首先需要发起WriteEnable(写使能)命令,该命令是在进行任何要改变memory(存储器)内容的操作之前必须首先执行的,否则后面的命令将会被忽略;然后,执行Programload(编程装载)命令,将需要进行Program的DataBytes(数据字节,在CheckBoard测试中,该DataBytes就是010101......或101010......的序列,二种序列交替出现)全部传送到CacheBuffer(高速缓冲存储器缓冲器)中,这个过程对应于图2中的SerialDataIn;而后发起ProgramExecute(编程执行)命令,开始将数据从CacheBuffer传送到NANDFlash的mainarray(主阵列)中,对于一个Page所进行的这个过程对应于图2中的时间Tpgm;待DataBytes全部传送完毕后,就完成了一个Page的Program操作。在Program编程操作进行过程中,可以发起Polling查询命令,来查看所执行操作的状态。当一个Page的Program成功完成后,可以向CacheBuffer装载下一个序列的DataBytes,开始下一个Page的Program;如图2所示,主阵列中含有多个块Block,如图2中的Block1到BlockN,N为NANDFlash中的Block的数量;每个Block中又含有多个,比如Pagei(i为正整数)就属于BlockM,M为1到N之间的一个整数。这样PagebyPage,直到芯片所有Page都执行了Program操作,也即芯片中的内容已经是图1中所示的CheckBoard的形式。
整芯片的PageProgram完成后,为了将芯片中的内容读出来以进行验证,还需要再进行PageRead操作,将一个所选中Page中的数据传送到CacheBuffer中的过程对应于图2中的时间Trd。最后将CacheBuffer中的DataBytes读出,这个过程对应于图2中的SerialDataOut。
上述以基于pagebypage的chippageprogram和pageread方式进行的checkboard测试传统方法存在一个严重的缺点:在每一次pageprogram时,数据需要一个一个的传送到cachebuffer中去,而在每一次pageread时,数据同样也需要一个一个的从cachebuffer中传送到IO端口去才能完成验证,因此耗费了大量时间,测试速度非常慢,测试成本较高。
发明内容
本发明要解决的技术问题是如何提高NANDFlash的测试速度,降低测试成本。
为了解决上述问题,本发明提供了一种NAND闪存芯片,包括:主阵列、控制模块;内置样本生成器;
所述控制模块用于当要进行棋盘格检查时,指示所述内置样本生成器生成进行芯片编程所需的序列;待所述内置样本生成器生成序列后,发起编程执行命令,将所述序列从所述内置样本生成器传送到所述主阵列中进行编程。
进一步地,还包括:
内置自动验证器;
所述控制模块还用于当芯片编程完成后,将主阵列中的数据逐页读出传送到所述内置自动验证器;
所述内置自动验证器用于对接收到的数据进行验证。
进一步地,所述内置样本生成器生成的序列包括第一、第二序列;所述第一、第二序列均为表示高、低电平的数值交替出现的序列,其中第一序列中的第一个数值为表示低电平的数值,第二序列中的第一个数值为表示高电平的数值;也就是说,第一、第二序列互为反序列;
所述控制模块将所述序列从所述内置样本生成器传送到所述主阵列中进行编程是指:
所述控制模块将所述内置样本生成器所生成的第一序列、第二序列中的一个序列用一个编程指令传送到闪存主阵列中所有单数的页中,将所述第一序列、第二序列中的另一个序列用一个编程指令传送到主阵列中所有双数的页中。
本发明还提供了一种NAND闪存芯片棋盘格检查时的芯片编程方法,包括:
当要进行棋盘格检查时,在芯片内部生成进行芯片编程所需的序列;
生成序列后,发起编程执行命令,将所生成的序列传送到芯片的主阵列中进行编程。
进一步地,所述的芯片编程方法还包括:
当芯片编程完成后,将主阵列中的数据逐页读出;
在芯片内部对所读出的数据进行验证。
进一步地,所生成的序列包括第一、第二序列;所述第一、第二序列均为表示高、低电平的数值交替出现的序列,其中第一序列中的第一个数值为表示低电平的数值,第二序列中的第一个数值为表示高电平的数值;也就是说,第一、第二序列互为反序列;
所述将所生成的序列传送到芯片的主阵列中进行编程的步骤包括:
将所生成的第一序列、第二序列中的一个序列用一个编程指令传送到闪存主阵列中所有单数的页中,将所述第一序列、第二序列中的另一个序列用一个编程指令传送到主阵列中所有双数的页中。
本发明还提供了一种NAND闪存芯片,包括:主阵列、控制模块;
内置自动验证器;
所述控制模块用于当芯片编程完成后,将所述主阵列中的数据逐页读出传送到所述内置自动验证器;
所述内置自动验证器用于对接收到的数据进行验证。
进一步地,还包括:
内置样本生成器;
所述控制模块还用于当要进行棋盘格检查时,指示所述内置样本生成器生成进行芯片编程所需的序列;待所述内置样本生成器生成序列后,发起编程执行命令,将所述序列从所述内置样本生成器传送到所述主阵列中进行编程。
进一步地,所述内置样本生成器生成的序列包括第一、第二序列;所述第一、第二序列均为表示高、低电平的数值交替出现的序列,其中第一序列中的第一个数值为表示低电平的数值,第二序列中的第一个数值为表示高电平的数值;也就是说,第一、第二序列互为反序列;
所述控制模块将所述序列从所述内置样本生成器传送到所述主阵列中进行编程是指:
所述控制模块将所述内置样本生成器所生成的第一序列、第二序列中的一个序列用一个编程指令传送到闪存主阵列中所有单数的页中,将所述第一序列、第二序列中的另一个序列用一个编程指令传送到主阵列中所有双数的页中。
本发明还提供了一种NAND闪存芯片棋盘格检查时的芯片编程方法,包括:
当芯片编程完成后,将主阵列中的数据逐页读出;
在芯片内部对所读出的数据进行验证。
进一步地,所述的芯片编程方法还包括:
当要进行棋盘格检查时,在芯片内部生成进行芯片编程所需的序列;
生成序列后,发起编程执行命令,将所生成的序列传送到芯片的主阵列中进行编程。
进一步地,所生成的序列包括第一、第二序列;所述第一、第二序列均为表示高、低电平的数值交替出现的序列,其中第一序列中的第一个数值为表示低电平的数值,第二序列中的第一个数值为表示高电平的数值;也就是说,第一、第二序列互为反序列;
所述将所生成的序列传送到芯片的主阵列中进行编程的步骤包括:
将所生成的第一序列、第二序列中的一个序列用一个编程指令传送到闪存主阵列中所有单数的页中,将所述第一序列、第二序列中的另一个序列用一个编程指令传送到主阵列中所有双数的页中。
本发明的技术方案可以大大缩短了CheckBoard的测试时间,降低了测试成本;其优化方案只需要执行两次PageProgram操作即可完成NANDFlash芯片CheckBoard测试所需的整个芯片的ChipProgram,更进一步的提高了测试速度,降低了测试成本。
附图说明
图1是进行CheckBoard时芯片中一部分区域的示意图;
图2是现有的ChipProgram的具体过程的示意图;
图3是实施例一中NANDFlash芯片的示意框图。
具体实施方式
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。
实施例一,一种NAND闪存芯片,包括:主阵列、内置样本生成器;
控制模块,用于当要进行棋盘格检查时,指示所述内置样本生成器生成进行芯片编程所需的序列;待所述内置样本生成器生成序列后,发起编程执行命令,将所述序列从所述内置样本生成器传送到所述主阵列中进行编程。
本实施例中,所述控制模块还用于在指示所述内置样本生成器生成进行芯片编程所需的序列前,先发起WriteEnable(写使能)命令。如果之前已经发起过该命令,则可以直接指示所述内置样本生成器生成进行芯片编程所需的序列。
本实施例中,控制模块可以但不限于通过执行Programload(编程装载)命令来指示所述内置样本生成器生成进行芯片编程所需的序列;本实施例中的Programload不再需要像传统方法那样将DataBytes由芯片外部一个一个的传送到CacheBuffer中,而是由内置样本生成器(Internalpatterngenerator)自动生成所需的序列pattern(样本),因此节省了大量数据传送时间,这就是“Internalpatterngenerator”的主要功能和目的。而后发起ProgramExecute(编程执行)命令,将数据从“Internalpatterngenerator”传送到NANDFlash的mainarray阵列中进行Program,对应于图3中的Tinterpgm时间。
本实施例中,如图3所示,所述NAND闪存芯片还可以包括:
内置自动验证器;
所述控制模块还可以用于当芯片编程完成后,将主阵列中的数据逐页读出传送到所述内置自动验证器;
所述内置自动验证器用于对接收到的数据进行验证。
本实施例中,控制模块可以但不限于通过执行Pageread命令来将主阵列中的数据逐页读出传送到所述内置自动验证器;与传统方法不同的是,发起Pageread指令后,不再是将所选中Page中的数据首先传送到CacheBuffer中,而后再由CacheBuffer传送到IO端口,而是将Page中的数据传送到“内置自动验证器(Internalautomaticverify)”直接完成CheckBoard验证,因此省去了数据由CacheBuffer一个一个的传送到IO端口的大量时间,同样大大提高了测试速度,这就是“Internalautomaticverify”的主要功能和目的,这个过程对应于图3中的Tinterverify时间。这样PagebyPage,直到芯片所有Page都执行了验证,也即完成了整个CheckBoard测试过程。
本实施例中,所述内置样本生成器生成的序列包括第一、第二序列;所述第一、第二序列均为表示高、低电平的数值交替出现的序列,其中第一序列中的第一个数值为表示低电平的数值,第二序列中的第一个数值为表示高电平的数值;也就是说,第一、第二序列互为反序列;
所述控制模块将所述序列从所述内置样本生成器传送到所述主阵列中进行编程具体可以是指:
所述控制模块将所述内置样本生成器所生成的第一序列、第二序列中的一个序列用一个编程指令传送到闪存主阵列中所有单数的页中,将所述第一序列、第二序列中的另一个序列用一个编程指令传送到主阵列中所有双数的页中。
本实施例中,所述单数的页就是主阵列的各块Block中的第一、三、五、......页这些奇数页,所述双数的页就是主阵列的各块Block中的第二、四、六......页这些偶数页。在传统做法中,是先对第一个Block中的第一页进行Program操作,然后是对第一个Block中的第二页进行Program操作......;第一个Block中的页都进行完Program操作后,再对第二个Block中的第一个页进行Program操作......以此类推,直到对主阵列中所有页都进行完Program操作。而在本实施例中,则是用一个编程指令就对单数的页进行完Program操作,再用一个编程指令就对双数的页进行完Program操作。
本实施例中,将序列传送到页中的两个编程指令的顺序不限,也就是说可以先用一个编程指令将序列传送到单数页,也可以先用一个编程指令将序列传送到双数页。将第一、第二序列中的哪一个传送到单数页、哪一个传送到双数页也没有限制,只要传送到单数页和双数页的序列不同即可。
本实施例中,表示低电平的数值可以但不限于为“0”,表示高电平的数值可以但不限于为“1”。
本实施例中,执行一次Program指令时不仅仅是将DataBytes传送至一个Page,而是传送到全芯片主阵列各Block中一半的Page中去进行Program操作,比如传送到图3所示中的各Block中的“......页Pagei-2、页Pagei、页Pagei+2......”或者“......页Pagei-1、页Pagei+1......”,这样一次Program指令就至少完成了芯片主阵列各Block中一半Page的Program操作。在Program操作进行过程中,同样可以发起Polling查询命令,来查看所执行操作的状态。当芯片主阵列各Block中一半Page的Program成功完成后,可以向CacheBuffer装载另一个反序列的DataBytes(比如上一次装载的序列是“010101......”,那么这次装载的序列就是“101010......”,反之亦然),开始整个芯片主阵列各Block中另一半Page的Program操作。这样只需要执行两次PageProgram操作,就能够完成整个芯片的ChipProgram,也即CheckBoard测试。相比传统方法的PagebyPage模式,大大缩短了测试时间,从而降低了测试成本。
实施例二、一种NAND闪存芯片棋盘格检查时的芯片编程方法,包括:
当要进行棋盘格检查时,在芯片内部生成进行芯片编程所需的序列;
生成序列后,发起编程执行命令,将所生成的序列传送到芯片的主阵列中进行编程。
本实施例中,在生成进行芯片编程所需的序列前,还先发起WriteEnable(写使能)命令。如果之前已经发起过该命令,则可以直接生成进行芯片编程所需的序列。
本实施例中,可以但不限于通过执行Programload(编程装载)命令来生成进行芯片编程所需的序列。本实施例中的Programload不再需要像传统方法那样将DataBytes由芯片外部一个一个的传送到CacheBuffer中,而是在芯片内部自动生成,因此节省了大量数据传送时间。
本实施例中,所述方法还可以包括:
当芯片编程完成后,将主阵列中的数据逐页读出;
在芯片内部对所读出的数据进行验证。
本实施例中,可以但不限于通过执行Pageread命令来将主阵列中的数据逐页读出;与传统方法不同的是,发起Pageread指令后,不再是将所选中Page中的数据首先传送到CacheBuffer中,而后再由CacheBuffer传送到IO端口,而是将Page中的数据在芯片内部进行验证,因此省去了数据由CacheBuffer一个一个的传送到IO端口的大量时间,同样大大提高了测试速度。
本实施例中,所生成的序列包括第一、第二序列;所述第一、第二序列均为表示高、低电平的数值交替出现的序列,其中第一序列中的第一个数值为表示低电平的数值,第二序列中的第一个数值为表示高电平的数值;也就是说,第一、第二序列互为反序列;
所述将所生成的序列传送到芯片的主阵列中进行编程的步骤具体可以包括:
将所生成的第一序列、第二序列中的一个序列用一个编程指令传送到闪存主阵列中所有单数的页中,将所述第一序列、第二序列中的另一个序列用一个编程指令传送到主阵列中所有双数的页中。
本实施例中,所述单数的页就是主阵列的各块Block中的第一、三、五、......页这些奇数页,所述双数的页就是主阵列的各块Block中的第二、四、六......页这些偶数页。在传统做法中,是先对第一个Block中的第一页进行Program操作,然后是对第一个Block中的第二页进行Program操作......;第一个Block中的页都进行完Program操作后,再对第二个Block中的第一个页进行Program操作......以此类推,直到对主阵列中所有页都进行完Program操作。而在本实施例中,则是用一个编程指令就对单数的页进行完Program操作,再用一个编程指令就对双数的页进行完Program操作。
本实施例中,将序列传送到页中的两个编程指令的顺序不限,也就是说可以先执行用一个编程指令将序列传送到单数页的步骤,也可以先执行一个编程指令将序列传送到双数页的步骤。将第一、第二序列中的哪一个传送到单数页、哪一个传送到双数页也没有限制,只要传送到单数页和双数页的序列不同即可。
本实施例中,表示低电平的数值可以但不限于为“0”,表示高电平的数值可以但不限于为“1”。
本实施例中,执行一次Program指令时不仅仅是将DataBytes传送至一个Page,而是传送到全芯片主阵列各Block中一半的Page中去进行Program操作;这样只需要执行两次PageProgram操作,就能够完成整个芯片的ChipProgram,也即CheckBoard测试。相比传统方法的PagebyPage模式,大大缩短了测试时间,从而降低了测试成本。
其它实现细节可参考实施例一。
实施例三,一种NAND闪存芯片,包括:主阵列、内置自动验证器;
控制模块,用于当芯片编程完成后,将所述主阵列中的数据逐页读出传送到所述内置自动验证器;
所述内置自动验证器用于对接收到的数据进行验证。
本实施例中,控制模块可以但不限于通过执行Pageread命令来将主阵列中的数据逐页读出传送到所述内置自动验证器;与传统方法不同的是,发起Pageread指令后,不再是将所选中Page中的数据首先传送到CacheBuffer中,而后再由CacheBuffer传送到IO端口,而是将Page中的数据传送到“内置自动验证器(Internalautomaticverify)”直接完成CheckBoard验证,因此省去了数据由CacheBuffer一个一个的传送到IO端口的大量时间,同样大大提高了测试速度。
本实施例中,所述NAND闪存芯片还可以包括:
内置样本生成器;
所述控制模块还可以用于当要进行棋盘格检查时,指示所述内置样本生成器生成进行芯片编程所需的序列;待所述内置样本生成器生成序列后,发起编程执行命令,将所述序列从所述内置样本生成器传送到所述主阵列中进行编程。
本实施例中,所述控制模块还用于在指示所述内置样本生成器生成进行芯片编程所需的序列前,先发起WriteEnable(写使能)命令。如果之前已经发起过该命令,则可以直接指示所述内置样本生成器生成进行芯片编程所需的序列。
本实施例中,控制模块可以但不限于通过执行Programload(编程装载)命令来指示所述内置样本生成器生成进行芯片编程所需的序列;本实施例中的Programload不再需要像传统方法那样将DataBytes由芯片外部一个一个的传送到CacheBuffer中,而是由内置样本生成器(Internalpatterngenerator)自动生成所需的序列pattern(样本),因此节省了大量数据传送时间。
本实施例中,所述内置样本生成器生成的序列包括第一、第二序列;所述第一、第二序列均为表示高、低电平的数值交替出现的序列,其中第一序列中的第一个数值为表示低电平的数值,第二序列中的第一个数值为表示高电平的数值;也就是说,第一、第二序列互为反序列;
所述控制模块将所述序列从所述内置样本生成器传送到所述主阵列中进行编程具体可以是指:
所述控制模块将所述内置样本生成器所生成的第一序列、第二序列中的一个序列用一个编程指令传送到闪存主阵列中所有单数的页中,将所述第一序列、第二序列中的另一个序列用一个编程指令传送到主阵列中所有双数的页中。
本实施例中,所述单数的页就是主阵列的各块Block中的第一、三、五、......页这些奇数页,所述双数的页就是主阵列的各块Block中的第二、四、六......页这些偶数页。在传统做法中,是先对第一个Block中的第一页进行Program操作,然后是对第一个Block中的第二页进行Program操作......;第一个Block中的页都进行完Program操作后,再对第二个Block中的第一个页进行Program操作......以此类推,直到对主阵列中所有页都进行完Program操作。而在本实施例中,则是用一个编程指令就对单数的页进行完Program操作,再用一个编程指令就对双数的页进行完Program操作。
本实施例中,将序列传送到页中的两个编程指令的顺序不限,也就是说可以先用一个编程指令将序列传送到单数页,也可以先用一个编程指令将序列传送到双数页。将第一、第二序列中的哪一个传送到单数页、哪一个传送到双数页也没有限制,只要传送到单数页和双数页的序列不同即可。
本实施例中,表示低电平的数值可以但不限于为“0”,表示高电平的数值可以但不限于为“1”。
本实施例中,执行一次Program指令时不仅仅是将DataBytes传送至一个Page,而是传送到全芯片主阵列各Block中一半的Page中去进行Program操作,这样只需要执行两次PageProgram操作,就能够完成整个芯片的ChipProgram,也即CheckBoard测试。相比传统方法的PagebyPage模式,大大缩短了测试时间,从而降低了测试成本。
实施例四、一种NAND闪存芯片棋盘格检查时的芯片编程方法,包括:
当芯片编程完成后,将主阵列中的数据逐页读出;
在芯片内部对所读出的数据进行验证。
本实施例中,可以但不限于通过执行Pageread命令来将主阵列中的数据逐页读出;与传统方法不同的是,发起Pageread指令后,不再是将所选中Page中的数据首先传送到CacheBuffer中,而后再由CacheBuffer传送到IO端口,而是将Page中的数据在芯片内部进行验证,因此省去了数据由CacheBuffer一个一个的传送到IO端口的大量时间,同样大大提高了测试速度。
本实施例中,所述方法还可以包括:
当要进行棋盘格检查时,在芯片内部生成进行芯片编程所需的序列;
生成序列后,发起编程执行命令,将所生成的序列传送到芯片的主阵列中进行编程。
本实施例中,在生成进行芯片编程所需的序列前,还先发起WriteEnable(写使能)命令。如果之前已经发起过该命令,则可以直接生成进行芯片编程所需的序列。
本实施例中,可以但不限于通过执行Programload(编程装载)命令来生成进行芯片编程所需的序列。本实施例中的Programload不再需要像传统方法那样将DataBytes由芯片外部一个一个的传送到CacheBuffer中,而是在芯片内部自动生成,因此节省了大量数据传送时间。
本实施例中,所生成的序列包括第一、第二序列;所述第一、第二序列均为表示高、低电平的数值交替出现的序列,其中第一序列中的第一个数值为表示低电平的数值,第二序列中的第一个数值为表示高电平的数值;也就是说,第一、第二序列互为反序列;
所述将所生成的序列传送到芯片的主阵列中进行编程的步骤具体可以包括:
将所生成的第一序列、第二序列中的一个序列用一个编程指令传送到闪存主阵列中所有单数的页中,将所述第一序列、第二序列中的另一个序列用一个编程指令传送到主阵列中所有双数的页中。
本实施例中,所述单数的页就是主阵列的各块Block中的第一、三、五、......页这些奇数页,所述双数的页就是主阵列的各块Block中的第二、四、六......页这些偶数页。在传统做法中,是先对第一个Block中的第一页进行Program操作,然后是对第一个Block中的第二页进行Program操作......;第一个Block中的页都进行完Program操作后,再对第二个Block中的第一个页进行Program操作......以此类推,直到对主阵列中所有页都进行完Program操作。而在本实施例中,则是用一个编程指令就对单数的页进行完Program操作,再用一个编程指令就对双数的页进行完Program操作。
本实施例中,将序列传送到页中的两个编程指令的顺序不限,也就是说可以先执行用一个编程指令将序列传送到单数页的步骤,也可以先执行一个编程指令将序列传送到双数页的步骤。将第一、第二序列中的哪一个传送到单数页、哪一个传送到双数页也没有限制,只要传送到单数页和双数页的序列不同即可。
本实施例中,表示低电平的数值可以但不限于为“0”,表示高电平的数值可以但不限于为“1”。
本实施例中,执行一次Program指令时不仅仅是将DataBytes传送至一个Page,而是传送到全芯片主阵列各Block中一半的Page中去进行Program操作;这样只需要执行两次PageProgram操作,就能够完成整个芯片的ChipProgram,也即CheckBoard测试。相比传统方法的PagebyPage模式,大大缩短了测试时间,从而降低了测试成本。
其它实现细节可参考实施例三。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的权利要求的保护范围。
Claims (4)
1.一种NAND闪存芯片,包括:主阵列、控制模块;
其特征在于,还包括:
内置样本生成器;
所述控制模块,用于当要进行棋盘格检查时,指示所述内置样本生成器生成进行芯片编程所需的序列;所述内置样本生成器生成的序列包括第一、第二序列;所述第一、第二序列均为表示高、低电平的数值交替出现的序列,其中第一序列中的第一个数值为表示低电平的数值,第二序列中的第一个数值为表示高电平的数值;也就是说,第一、第二序列互为反序列;
所述控制模块,还用于待所述内置样本生成器生成序列后,发起编程执行命令,将所述序列从所述内置样本生成器传送到所述主阵列中进行编程;
所述控制模块将所述序列从所述内置样本生成器传送到所述主阵列中进行编程是指:
所述控制模块将所述内置样本生成器所生成的第一序列、第二序列中的一个序列用一个编程指令传送到闪存主阵列中所有单数的页中,将所述第一序列、第二序列中的另一个序列用一个编程指令传送到主阵列中所有双数的页中。
2.如权利要求1所述的NAND闪存芯片,其特征在于,还包括:
内置自动验证器;
所述控制模块还用于当芯片编程完成后,将主阵列中的数据逐页读出传送到所述内置自动验证器;
所述内置自动验证器用于对接收到的数据进行验证。
3.一种NAND闪存芯片棋盘格检查时的芯片编程方法,包括:
当要进行棋盘格检查时,在芯片内部生成进行芯片编程所需的序列;所生成的序列包括第一、第二序列;所述第一、第二序列均为表示高、低电平的数值交替出现的序列,其中第一序列中的第一个数值为表示低电平的数值,第二序列中的第一个数值为表示高电平的数值;也就是说,第一、第二序列互为反序列;
生成序列后,发起编程执行命令,将所生成的序列传送到芯片的主阵列中进行编程;所述将所生成的序列传送到芯片的主阵列中进行编程的步骤包括:
将所生成的第一序列、第二序列中的一个序列用一个编程指令传送到闪存主阵列中所有单数的页中,将所述第一序列、第二序列中的另一个序列用一个编程指令传送到主阵列中所有双数的页中。
4.如权利要求3所述的芯片编程方法,其特征在于,还包括:
当芯片编程完成后,将主阵列中的数据逐页读出;
在芯片内部对所读出的数据进行验证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210100117.8A CN103366826B (zh) | 2012-04-06 | 2012-04-06 | 一种nand闪存芯片及其棋盘格检查时的芯片编程方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210100117.8A CN103366826B (zh) | 2012-04-06 | 2012-04-06 | 一种nand闪存芯片及其棋盘格检查时的芯片编程方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103366826A CN103366826A (zh) | 2013-10-23 |
CN103366826B true CN103366826B (zh) | 2016-03-30 |
Family
ID=49367987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210100117.8A Active CN103366826B (zh) | 2012-04-06 | 2012-04-06 | 一种nand闪存芯片及其棋盘格检查时的芯片编程方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103366826B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101154450A (zh) * | 2006-09-29 | 2008-04-02 | 海力士半导体有限公司 | 对nand闪存器件进行编程的方法 |
CN102067233A (zh) * | 2008-06-12 | 2011-05-18 | 桑迪士克公司 | 使用索引编程和减少的验证的非易失性存储器和方法 |
CN102103889A (zh) * | 2009-12-22 | 2011-06-22 | 英特尔公司 | Nand编程技术 |
CN102203878A (zh) * | 2008-10-30 | 2011-09-28 | 桑迪士克公司 | 用于改进升压箝位的对位线编程 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7894269B2 (en) * | 2006-07-20 | 2011-02-22 | Sandisk Corporation | Nonvolatile memory and method for compensating during programming for perturbing charges of neighboring cells |
US7734861B2 (en) * | 2006-09-08 | 2010-06-08 | Sandisk Corporation | Pseudo random and command driven bit compensation for the cycling effects in flash memory |
-
2012
- 2012-04-06 CN CN201210100117.8A patent/CN103366826B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101154450A (zh) * | 2006-09-29 | 2008-04-02 | 海力士半导体有限公司 | 对nand闪存器件进行编程的方法 |
CN102067233A (zh) * | 2008-06-12 | 2011-05-18 | 桑迪士克公司 | 使用索引编程和减少的验证的非易失性存储器和方法 |
CN102203878A (zh) * | 2008-10-30 | 2011-09-28 | 桑迪士克公司 | 用于改进升压箝位的对位线编程 |
CN102103889A (zh) * | 2009-12-22 | 2011-06-22 | 英特尔公司 | Nand编程技术 |
Also Published As
Publication number | Publication date |
---|---|
CN103366826A (zh) | 2013-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108122588A (zh) | 非易失性存储器设备及包括其的存储设备 | |
CN106157999A (zh) | 包括虚设存储单元的半导体存储器件及其操作方法 | |
CN107845405A (zh) | 用于闪存装置的错误更正码单元、自我测试方法及控制器 | |
CN102403039A (zh) | 半导体存储器件及其操作方法 | |
CN102522123B (zh) | 利用数据产生器模块来提高存储设备读写测试效率的方法 | |
US20150363120A1 (en) | On demand block management | |
CN106448733A (zh) | 非易失性存储器设备、编程方法和其编程验证方法 | |
CN102592679B (zh) | 一种闪存芯片的测试方法和闪存芯片 | |
US20150301748A1 (en) | Storage operating system | |
CN103247345A (zh) | 快闪存储器及快闪存储器失效存储单元检测方法 | |
CN105006253B (zh) | 一种闪存芯片数据保留性检查方法及系统 | |
CN106681652A (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN108694989A (zh) | 存储设备及其坏块指派方法 | |
CN106526454A (zh) | 一种基于ate的fpga配置芯片的测试方法 | |
CN102456415A (zh) | 半导体存储器件及其操作方法 | |
CN102737722A (zh) | 一种内建自测系统的自检修补法 | |
CN104969198B (zh) | 存储器装置及验证数据路径完整性的方法 | |
CN101908376A (zh) | 非挥发性存储装置及其控制方法 | |
CN113157512B (zh) | 实现大容量ssd在小内存机器上进行数据校验测试的方法 | |
US11514995B2 (en) | Memory sub-system self-testing operations | |
CN101576838A (zh) | 一种检测内存的方法和装置 | |
CN112530508B (zh) | 一种nand flash存储器并行测试及坏块回写方法 | |
CN103366826B (zh) | 一种nand闪存芯片及其棋盘格检查时的芯片编程方法 | |
KR101131569B1 (ko) | 비휘발성 메모리 장치, 이를 위한 리페어 회로 및 캠 데이터 독출 방법 | |
CN106971757A (zh) | 一种检验Nand Flash质量的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Room 101, Floor 1-5, Building 8, Yard 9, Fenghao East Road, Haidian District, Beijing 100094 Patentee after: Zhaoyi Innovation Technology Group Co.,Ltd. Address before: 100083 12 Floors, Block A, Tiangong Building, Science and Technology University, 30 College Road, Haidian District, Beijing Patentee before: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc. |