CN105654989B - Nand flash闪存中状态码的验证方法及装置 - Google Patents
Nand flash闪存中状态码的验证方法及装置 Download PDFInfo
- Publication number
- CN105654989B CN105654989B CN201610127363.0A CN201610127363A CN105654989B CN 105654989 B CN105654989 B CN 105654989B CN 201610127363 A CN201610127363 A CN 201610127363A CN 105654989 B CN105654989 B CN 105654989B
- Authority
- CN
- China
- Prior art keywords
- state
- codes
- code
- candidate
- status
- 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
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
Landscapes
- Read Only Memory (AREA)
Abstract
本发明公开了一种NAND FLASH闪存中状态码的验证方法和装置,该方法包括:根据状态码占位数量确定多个候选状态码;从所述多个候选状态码中查找含有的置零位数量与状态序号对应的目标状态码,除擦除状态以外所述状态序号越大相应目标状态码含有的置零位数量越小;将原状态码替换为所述目标状态码;对所述目标状态码进行编程验证。按照本发明提供的状态码能够由小到大对多个状态的状态码进行编程验证时,序号较小的状态码含有的置零位数较多,且每个状态码被识别后相应的目标状态码会被排除,因此可实现每个状态码只需要预充一次总线即可进行程序检验,大幅减少总线预充次数,提高编程验证效率。
Description
技术领域
本发明实施例涉及编程控制技术,尤其涉及一种计算机闪存设备NAND FLASH闪存中状态码的验证方法及装置。
背景技术
随着存储技术的发展,TLC闪存得到广泛使用。在对TLC进行编程时,通常需要进行多次编程才能完成,且每次编程与其他次编程之间有一定的顺序要求。用户在编程时必须严格按照NAND FLASH所要求的编程顺序去编程。在编程时,所有用户输入的数据都按照一定的规则对应到内部的状态中,编程后对编入的数据进行编程验证。每个状态代表某一种编码,编码和存储单元数据位的置位状态没有本质联系,只是逻辑上联系,所以只要确保输入或输出在用户接口上传输的数据和状态保持一致,就可以保证数据的正确性。
例如:TLC的一个存储单元存储的数据为3bit,对应存储单元的8个状态。采用格雷码对数据的状态编码进行表示,如表1所示,其中Data Latch表示数据位,E表示擦除状态erase,P1至P7分别表示状态1至状态7。每个状态由其状态码表示,如状态P1的状态码为110,状态P2的状态码为100。每个状态码与其相邻(左相邻或右相邻)的状态码仅有一个数据位不同,以状态P2为例,P2与P1的区别在于Data Latch 2不同,其他Data Latch即DataLatch 1和Data Latch 3均相同;P2与P3的区别在于Data Latch1不同,其他Data Latch即Data Latch 2和Data Latch 3均相同。
表1
Data Latch | E | P1 | P2 | P3 | P4 | P5 | P6 | P7 |
Data Latch 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |
Data Latch 2 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 |
Data Latch 3 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
在NAND FLASH闪存中,对于连续的N个置1的状态位,需要进行N次总线预充;对于连续的N个置0的状态位,仅需要进行一次总线预充;对于两个相邻的置1和置0的状态位,需要进行两次总线预充,分别进行识别。按照上述原理对表1中的状态码进行编程验证时,以P1为例,两个置位1则需要2次预充总线,另一个置位0,则需要再一次预充总线,进而共需要预充三次总线。同理,检验P2时需要2次预充总线;检验P3时需要1次预充总线;检验P4时,需要2次预充总线;检验P5时,需要3次预充总线;检验P6时,需要2次预充总线;检验P7时,需要3次预充总线,共需要预充总线16次。
然而,总线的预充是需要很长时间的,每次数据比较都需要预充多次才能知道,耗费了大量的时间,编程验证效率较低。
发明内容
本发明提供一种NAND FLASH闪存中状态码的验证方法及装置,以实现提高状态码的编程验证效率。
第一方面,本发明实施例提供了一种NAND FLASH闪存中状态码的验证方法,包括:
根据状态码占位数量确定多个候选状态码;
从所述多个候选状态码中查找含有的置零位数量与状态序号对应的目标状态码,除擦除状态以外所述状态序号越大相应目标状态码含有的置零位数量越小;
将原状态码替换为所述目标状态码;
对所述目标状态码进行编程验证。
第二方面,本发明实施例还提供了一种NAND FLASH闪存中状态码的验证装置,包括:
候选状态码确定单元,用于根据状态码占位数量确定多个候选状态码;
目标状态码查找单元,用于从所述候选状态码确定单元确定的所述多个候选状态码中查找含有的置零位数量与状态序号对应的目标状态码,除擦除状态以外所述状态序号越大相应目标状态码含有的置零位数量越小;
替换单元,用于将原状态码替换为所述目标状态码查找单元查找到的所述目标状态码;
验证单元,用于对所述替换单元替换的所述目标状态码进行编程验证。
本发明根据状态序号确定目标状态码,并将目标状态码替换为新的状态码。在确定目标状态码时,状态序号越大相应的目标状态码含有的置零位数量越小。现有技术使用格雷编码对各个状态进行编码,在进行程序验证时需要多次预充总线。由于对总线进行一次预充即可判断多个相邻状态位是否置零,因此按照本发明提供的状态码,由小到大对多个状态的状态码进行编程验证时,序号较小的状态码含有的置零位数较多,且每个状态码被识别后相应的目标状态码会被排除,因此可实现每个状态码只需要预充一次总线即可进行程序检验,大幅减少总线预充次数,提高编程验证效率。
附图说明
图1是本发明实施例一中的NAND FLASH闪存中状态码的验证方法的流程图;
图2是本发明实施例一中的状态划分示意图;
图3是本发明实施例一中的灵敏传感器的结构示意图;
图4是本发明实施例二中的NAND FLASH闪存中状态码的验证方法的流程图;
图5是本发明实施例二中的进行数据写入和验证的电压示意图;
图6是本发明实施例三中的NAND FLASH闪存中状态码的验证装置的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种NAND FLASH闪存中状态码的验证方法的流程图,NAND又名计算机闪存设备,NAND FLASH闪存是一种比硬盘驱动器更好的存储方案,在不超过4GB的低容量应用中表现较为优秀。随着人们持续追求功耗更低、重量更轻和性能更佳的产品,NAND正被证明极具吸引力。本实施例可适用于对NAND FLASH闪存中状态码进行编程验证时识别状态码的情况,该方法可以由对状态码进行处理的终端来执行,该终端可以为个人电脑(Personal Computer,PC)、服务器等。
TLC的编程分为三个步骤,以3bit(位)的存储单元为例,如图2所示,第一次编程,将一个擦除状态erase(擦除状态的各个数据位全部置1),先区分为两个状态,一个是擦除状态,一个是中间编程状态L1。第二次编程,进一步将擦除状态Erase分为四个状态,分别为Erase/p1/p2/p3状态,将L1状态分为p4/p5/p6/p7四个状态。第三次编程,将分出来的8个状态的阈值电压分布进一步收窄为最终的8个状态。
表2
顺序 | 第一次编程 | 第二次编程 | 第三次编程 |
WL5 | 13 | 16 | 18 |
WL4 | 10 | 14 | 17 |
WL3 | 7 | 11 | 15 |
WL2 | 4 | 8 | 12 |
WL1 | 2 | 5 | 9 |
WL0 | 1 | 3 | 6 |
为了解决相邻存储单元(cell)之间的串扰,可按照表2所示的编程顺序进行编程。其中,WL表示一行数据,示例性的,WL0表示第一行数据,WL1表示第二行数据。在进行编程时,先做WL0的第一次编程,在做WL1的第一次编程,再返回做WL0的第二次编程,在做WL2的第一次编程,如此循环往复,直到将所有的WL都编程完毕。
在每个编程过程中均需要对编程的内容进行编程验证。在编程验证时可采用下述步骤进行实施:
步骤110、根据状态码占位数量确定多个候选状态码。
状态码站位数量为用于表示状态码的数据位数。例如:TLC的一个存储单元存储的数据为3bit,即一个状态的状态码为3bit,进而确定状态码占位数量为3。
状态码占位数量能够表示二进制数据即为候选状态码。在上例中,3bit能够表示的二进制数据一共有23=8个。
步骤120、从多个候选状态码中查找含有的置零位数量与状态序号对应的目标状态码,除擦除状态以外状态序号越大相应目标状态码含有的置零位数量越小。
在进行程序验证时,使用灵敏传感器SA对不同状态码对应的数据进行验证。图3为一种SA的结构,折中SA只能读出单边数据,即只能将数据A或数据B读出到总线上。那么每次将总线预充之后,只能读到一组高数据。也就是说,要想知道A和B是否为1,每次预充总线,如果将使能A打开,只能知道数据A是否为1,如果将使能B打开,只能知道数据B是否为1,如果将使能A/使能B都打开,将无法确认到底A为1还是B为1,那么需要将总线预充两次才能区分出来A和B是否为1。此外,如果要想知道A和B是否为0,每次预充总线,将使能A和使能B都同时打开,那么一次能同时知道A和B都是0,一旦有一个不是0,总线的电荷都将被放掉。
步骤110中能够根据状态数码占位量M对应的N个候选状态码。从N个候选码中选取状态位全部置1的状态码作为擦除状态。由于擦除状态的置位情况是固定的,因此无需对擦除状态的状态码进行重新编码,因此本步骤所要确定的主要为除擦除状态以外的状态对应的目标状态码。
N个状态码除去擦除状态后,剩余N-1个候选状态码。从N-1个候选状态码中查找置零位数量为M的1个候选状态码x1,将该候选状态码x1确定为状态1对应的目标状态码。判断N-2大于零是否大于零,如果大于零则执行下述步骤,否则停止。
如果N-2大于零,则从剩余的N-2个候选状态码中查找置零位数量为M-1的M个候选状态码{x2~x1+m},分别将M个候选状态码作为状态2至状态1+m对应的目标状态码。判断N-2-M大于零是否大于零,如果大于零则执行下述步骤,否则停止。
如果N-2-M大于零,则从剩余的N-2-M个候选状态码中查找置零位数量为M-2的M个候选状态码{x2+m~x1+2m},分别将M个候选状态码作为状态2+m至状态1+2m对应的目标状态码。判断N-2-M大于零是否大于零,如果大于零则执行下述步骤,否则停止。
如果N-2-2M大于零,则从剩余的N-2-2M个候选状态码中查找置零位数量为M-3的M个候选状态码{x2+2m~x1+3m},分别将M个候选状态码作为状态2+2m至状态1+3m对应的目标状态码。判断N-2-2M大于零是否大于零,如果大于零则以此类推,得到全部状态对应的目标状态码。否则停止。
步骤130、将原状态码替换为目标状态码。
对于任一状态,当确定了该状态对应的目标状态码之后,将该状态对应的原状态码替换为目标状态吗。
步骤140、对目标状态码进行编程验证。
根据步骤120中确定目标状态码的顺序对目标状态码进行编程验证。例如:先验证状态1的状态位是否全部置0,如果是则状态1验证成功;再验证状态2的状态位中的预设M-1个状态位(如状态位1和状态位2)是否为0,如果是则状态2验证成功;以此类推,顺序验证各状态码。当确定状态1状态码正确后,其余状态码不会存在状态位是否全部置0的情况。因此,在从其余状态码中查找状态位1和状态位2均为0的状态码则只有唯一的状态2的状态码,进而实现每次编程验证只需要判断预定位置的状态位是否置0,保证每次只需要一次预充总线即可对状态码进行验证。
本实施例提供的技术方案根据状态序号确定目标状态码,并将目标状态码替换为新的状态码。在确定目标状态码时,状态序号越大相应的目标状态码含有的置零位数量越小。现有技术使用格雷编码对各个状态进行编码,在进行程序验证时需要多次预充总线。由于对总线进行一次预充即可判断多个相邻状态位是否置零,因此按照本实施例提供的状态码,由小到大对多个状态的状态码进行编程验证时,序号较小的状态码含有的置零位数较多,且每个状态码被识别后相应的目标状态码会被排除,因此可实现每个状态码只需要预充一次总线即可进行程序检验,大幅减少总线预充次数,提高编程验证效率。
实施例二
图4为本发明实施例二提供的一种NAND FLASH闪存中状态码的验证方法的流程图,步骤110、根据状态码占位数量确定多个候选状态码,可通过下述方式进行实施:
步骤111、将以状态码占位数量为自变量、以2为底数的幂指函数的取值确定为候选状态码数量。
由于状态位的置位数据为0或1,因此状态码为二进制数值。当状态码占位数量为x时,候选状态码数量为2x。具体的:状态码占位数量为1,即占用1bit时,候选状态码数量(即能够表示的二进制数据数量)为21=2个。状态码占位数量为2,即占用2bit时,候选状态码数量(即能够表示的二进制数据数量)为22=4个。状态码占位数量为3,即占用3bit时,候选状态码数量(即能够表示的二进制数据数量)为23=8个。态码占位数量为4,即占用4bit时,候选状态码数量(即能够表示的二进制数据数量)为24=16个。
步骤112、生成候选状态码数量的候选状态码。
根据状态码站位数量,分别将每个状态位置0或置1,得到候选状态码。
示例性地,当状态码站位数量为1时,候选状态码共2个,分别为0和1。当状态码站位数量为2时,候选状态码共4个,分别为00、01、10和11。当状态码站位数量为3时,候选状态码共8个,分别为000、001、010、100、011、101、110和111。当状态码站位数量为4时,候选状态码共16个,分别为0000、0001、0010、0100、1000、0011、0101、1001、0110、1010、1100、1110、1101、1011、0111和1111。
通过计算2为底数的幂指函数,可得出候选状态码数量的候选状态码,进而明确能够作为状态码的候选状态码,准确的确定候选状态码。
进一步的,步骤120、从多个候选状态码中查找含有的置零位数量与状态序号对应的目标状态码,可通过下属步骤进行实施:
步骤120’、逐次从多个候选状态码中查找置零位数量为状态码占位数量-N的至少一个候选状态码作为目标状态码,N由0逐次递增至状态码占位数量-1。
在一种实现方式中,当所述状态码站位数量为3时,候选状态码数量为8,步骤120a、逐次从多个候选状态码中查找置零位数量为状态码占位数量-N的至少一个候选状态码作为目标状态码,N由0逐次递增至状态码占位数量-1,可实施为:
(1)将状态1的状态码确定为擦除状态对应的状态码。
确定擦除状态E的状态码码,即三个状态位均置1的状态码(即状态码111)。
(2)从剩余7个候选状态码中查找置零位数量为三的1个候选状态码(即状态码000)作为状态1的状态码。
(3)从剩余6个候选状态码中查找置零位数量为二的3个候选状态码分别作为状态2、状态3和状态4的状态码。
3个候选状态码为{001、010、100},将该三个候选状态码分别确定为状态2、状态3和状态4对应的状态码。例如。状态2对应001、状态3对应010、状态4对应100;又例如。状态2对应010、状态3对应001、状态4对应100;再例如。状态2对应100、状态3对应001、状态4对应010等。
(4)将剩余3个置零位数量为一的候选状态码分别作为状态5、状态6和状态7的状态码。
将剩余的三个候选状态码{011、101、110}。候选状态码{011、101、110}与状态5、状态6和状态7的对应关系可参照(3)中的对应关系,此处不做赘述。下面给出通过上述步骤可得到的表3和表4分别给出两种可选的状态码对应关系表。
表3
Data Latch | E | P1 | P2 | P3 | P4 | P5 | P6 | P7 |
Data Latch 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 |
Data Latch 2 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 |
Data Latch 3 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 |
表4
Data Latch | E | P1 | P2 | P3 | P4 | P5 | P6 | P7 |
Data Latch 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 |
Data Latch 2 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 |
Data Latch 3 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 |
需要说明的是,状态码占位数量为大于等于1的正数,随着状态码占位数量的改变,状态码也会随之改变,具体对应关系可参照上述以状态占位数量为3的举例,此处不做赘述。
进一步的,步骤140、对目标状态码进行编程验证,可通过下述方式进行实施:
步骤141、获取状态序号对应的目标状态码。
为了方便理解,以表3为例对步骤141进行说明。由于在步骤120中已确定了状态与状态码的对应关系,因此在步骤140中,根据步骤120确定的对应关系进行验证。
在读取状态码时,需要从众多状态码中找到所需的状态码。1)查找状态位均置1的状态码,将该状态码确定为擦除状态。2)查找状态位均置0的状态码,将该状态码确定为状态1。将状态1的状态码进行排除,使得状态1的状态码在后续查找时不会作为查询样本。3)从剩余状态码中查找第二状态位(Data Latch 2)和第三状态位(Data Latch 3)均置0的状态码,将该状态码确定为状态2。将状态2的状态码进行排除。4)从剩余状态码中查找第一状态位(Data Latch 1)和第三状态位(Data Latch 3)均置0的状态码。将该状态码确定为状态3。将状态3的状态码进行排除。5)从剩余状态码中查找第一状态位(Data Latch 1)和第二状态位(Data Latch 2)均置0的状态码,将该状态码确定为状态4。将状态4的状态码进行排除。6)从剩余状态码中查找第一状态位(Data Latch 1)置0的状态码。将该状态码确定为状态5。将状态5的状态码进行排除。7)从剩余状态码中查找第一状态位(Data Latch 3)置0的状态码。将该状态码确定为状态6。将状态6的状态码进行排除。8)从剩余状态码中查找第一状态位(Data Latch 2)置0的状态码。将该状态码确定为状态7。将状态7的状态码进行排除。进而得到8个目标状态码。
步骤142、对目标状态码进行程序验证。
如图5所示,分别对每个目标状态码进行验证,由于每个状态码对应的电平不同,因此随着状态序号的增加需要的电平值随之增加。图5中Vvfy表示一个状态码的验证过程,例如,Vvfy1表示对状态1的状态码进行验证,Vvfy2表示对状态2的状态码进行验证。
在获取目标状态码时,由于只需要判断相应数据位是否为0,因此每次仅需要预充总线一次。以3bit状态码为例,根据本实施例提供的方法,读取状态1至状态7仅需要预充总线7次,而如果采用现有技术,如背景技术所示需要预充总线16次。总时间比为7/16=43.75%,节约了56.25%的预充时间。由于预充时间占整个操作时间的70%以上,因此总比较时间约节约39%以上。需要说明的是,随着状态码数据位数量的提高,可节约的时间将进一步提高,进而大幅降低预充时间,提高程序验证效率。
实施例三
图6为本发明实施例三提供的一种NAND FLASH闪存中状态码的验证装置的结构示意图,所述装置位于终端中,该装置包括:
候选状态码确定单元11,用于根据状态码占位数量确定多个候选状态码;
目标状态码查找单元12,用于从所述候选状态码确定单元11确定的所述多个候选状态码中查找含有的置零位数量与状态序号对应的目标状态码,除擦除状态以外所述状态序号越大相应目标状态码含有的置零位数量越小;
替换单元13,用于将原状态码替换为所述目标状态码查找单元12查找到的所述目标状态码;
验证单元14,用于对所述替换单元13替换的所述目标状态码进行编程验证。
进一步的,所述候选状态码确定单元11具体用于:
将以状态码占位数量为自变量、以2为底数的幂指函数的取值确定为候选状态码数量;
生成所述候选状态码数量的候选状态码。
进一步的,所述目标状态码查找单元12具体用于:
逐次从所述多个候选状态码中查找置零位数量为所述状态码占位数量-N的至少一个候选状态码作为目标状态码,所述N由0逐次递增至所述状态码占位数量-1。
进一步的,当所述状态码站位数量为3时,候选状态码数量为8,所述目标状态码查找单元12具体用于:
将状态1的状态码确定为擦除状态对应的状态码;
从剩余7个候选状态码中查找置零位数量为三的1个候选状态码作为状态1的状态码;
从剩余6个候选状态码中查找置零位数量为二的3个候选状态码分别作为状态2、状态3和状态4的状态码;
将剩余3个置零位数量为一的候选状态码分别作为状态5、状态6和状态7的状态码。
进一步的,所述验证单元14具体用于:
获取状态序号对应的目标状态码;
对所述目标状态码进行程序验证。
上述装置可执行本发明实施例一和实施例二所提供的方法,具备执行上述方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例一和实施例二所提供的方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种NAND FLASH闪存中状态码的验证方法,其特征在于,包括:
根据状态码占位数量M确定多个候选状态码,所述候选状态码为二进制数据,状态码占位数量M用于表示状态码的数据位数,状态码占位数量M能够表示的二进制数据即为候选状态码;
从所述多个候选状态码中查找含有的置零位数量与状态序号对应的目标状态码,确定置零位数量为M的候选状态码为状态序号为1对应的目标状态码,除擦除状态以外所述状态序号越大相应目标状态码含有的置零位数量越小;
将原状态码替换为所述目标状态码;
对所述目标状态码进行编程验证,由小到大对多个状态的状态码进行编程验证时,序号较小的状态码含有的置零位数较多,且每个状态码被识别后相应的目标状态码会被排除。
2.根据权利要求1所述的NAND FLASH闪存中状态码的验证方法,其特征在于,所述根据状态码占位数量确定多个候选状态码,包括:
将以状态码占位数量为自变量、以2为底数的幂指函数的取值确定为候选状态码数量;
生成所述候选状态码数量的候选状态码。
3.根据权利要求1或2所述的NAND FLASH闪存中状态码的验证方法,其特征在于,所述从所述多个候选状态码中查找含有的置零位数量与状态序号对应的目标状态码,包括:
逐次从所述多个候选状态码中查找置零位数量为所述状态码占位数量-N的至少一个候选状态码作为目标状态码,所述N由0逐次递增至所述状态码占位数量-1。
4.根据权利要求3所述的NAND FLASH闪存中状态码的验证方法,其特征在于,当所述状态码占位数量为3时,候选状态码数量为8;
相应的,所述从所述多个候选状态码中查找含有的置零位数量与状态序号对应的目标状态码,包括:
将状态1的状态码确定为擦除状态对应的状态码;
从剩余7个候选状态码中查找置零位数量为三的1个候选状态码作为状态1的状态码;
从剩余6个候选状态码中查找置零位数量为二的3个候选状态码分别作为状态2、状态3和状态4的状态码;
将剩余3个置零位数量为一的候选状态码分别作为状态5、状态6和状态7的状态码。
5.根据权利要求3所述的NAND FLASH闪存中状态码的验证方法,其特征在于,所述对所述目标状态码进行编程验证,包括:
获取状态序号对应的目标状态码;
对所述目标状态码进行程序验证。
6.一种NAND FLASH闪存中状态码的验证装置,其特征在于,包括:
候选状态码确定单元,用于根据状态码占位数量M确定多个候选状态码,所述候选状态码为二进制数据,状态码占位数量M用于表示状态码的数据位数,状态码占位数量M能够表示的二进制数据即为候选状态码;
目标状态码查找单元,用于从所述候选状态码确定单元确定的所述多个候选状态码中查找含有的置零位数量与状态序号对应的目标状态码,确定置零位数量为M的候选状态码为状态序号为1对应的目标状态码,除擦除状态以外所述状态序号越大相应目标状态码含有的置零位数量越小;
替换单元,用于将原状态码替换为所述目标状态码查找单元查找到的所述目标状态码;
验证单元,用于对所述替换单元替换的所述目标状态码进行编程验证,由小到大对多个状态的状态码进行编程验证时,序号较小的状态码含有的置零位数较多,且每个状态码被识别后相应的目标状态码会被排除。
7.根据权利要求6所述的NAND FLASH闪存中状态码的验证装置,其特征在于,所述候选状态码确定单元具体用于:
将以状态码占位数量为自变量、以2为底数的幂指函数的取值确定为候选状态码数量;
生成所述候选状态码数量的候选状态码。
8.根据权利要求6或7所述的NAND FLASH闪存中状态码的验证装置,其特征在于,所述目标状态码查找单元具体用于:
逐次从所述多个候选状态码中查找置零位数量为所述状态码占位数量-N的至少一个候选状态码作为目标状态码,所述N由0逐次递增至所述状态码占位数量-1。
9.根据权利要求8所述的NAND FLASH闪存中状态码的验证装置,其特征在于,当所述状态码占位数量为3时,候选状态码数量为8,所述目标状态码查找单元具体用于:
将状态1的状态码确定为擦除状态对应的状态码;
从剩余7个候选状态码中查找置零位数量为三的1个候选状态码作为状态1的状态码;
从剩余6个候选状态码中查找置零位数量为二的3个候选状态码分别作为状态2、状态3和状态4的状态码;
将剩余3个置零位数量为一的候选状态码分别作为状态5、状态6和状态7的状态码。
10.根据权利要求9所述的NAND FLASH闪存中状态码的验证装置,其特征在于,所述验证单元具体用于:
获取状态序号对应的目标状态码;
对所述目标状态码进行程序验证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610127363.0A CN105654989B (zh) | 2016-03-07 | 2016-03-07 | Nand flash闪存中状态码的验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610127363.0A CN105654989B (zh) | 2016-03-07 | 2016-03-07 | Nand flash闪存中状态码的验证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105654989A CN105654989A (zh) | 2016-06-08 |
CN105654989B true CN105654989B (zh) | 2020-04-24 |
Family
ID=56493136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610127363.0A Active CN105654989B (zh) | 2016-03-07 | 2016-03-07 | Nand flash闪存中状态码的验证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105654989B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1777960A (zh) * | 2003-03-05 | 2006-05-24 | 桑迪斯克公司 | 利用自升压技术来避免编程干扰的与非闪存 |
CN102483953A (zh) * | 2009-06-26 | 2012-05-30 | 桑迪士克技术有限公司 | 检测对非易失性储存器的编程的完成 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120030281A (ko) * | 2010-09-20 | 2012-03-28 | 삼성전자주식회사 | 플래시 메모리 장치, 및 그의 프로그램 검증 방법 |
-
2016
- 2016-03-07 CN CN201610127363.0A patent/CN105654989B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1777960A (zh) * | 2003-03-05 | 2006-05-24 | 桑迪斯克公司 | 利用自升压技术来避免编程干扰的与非闪存 |
CN102483953A (zh) * | 2009-06-26 | 2012-05-30 | 桑迪士克技术有限公司 | 检测对非易失性储存器的编程的完成 |
Also Published As
Publication number | Publication date |
---|---|
CN105654989A (zh) | 2016-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102658792B1 (ko) | 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 동작 방법 | |
US8990665B1 (en) | System, method and computer program product for joint search of a read threshold and soft decoding | |
EP2776929B1 (en) | Soft information generation for memory systems | |
CN100550201C (zh) | 使用多个串存储状态信息的非易失性存储器装置和方法 | |
CN102646447A (zh) | 非易失性存储器件、存储控制器及其方法 | |
CN108206041A (zh) | 存储器读取操作方法、存储器控制器及存储系统操作方法 | |
US20180350441A1 (en) | Semiconductor memory system and operating method thereof | |
CN109036488B (zh) | 存储器控制器、操作该存储器控制器的方法以及存储器系统 | |
JP2009059453A (ja) | 不揮発性半導体記憶装置及びメモリシステム | |
US11749354B2 (en) | Systems and methods for non-parametric PV-level modeling and read threshold voltage estimation | |
CN110751974A (zh) | 存储器系统和用于优化读取阈值的方法 | |
CN113051098A (zh) | 使用机器学习控制非易失性存储器设备的操作的方法和存储系统 | |
US11086717B2 (en) | Random selection of code words for read voltage calibration | |
US11769556B2 (en) | Systems and methods for modeless read threshold voltage estimation | |
US11393539B2 (en) | Systems and methods for determining change of read threshold voltage | |
US11960989B2 (en) | Read threshold estimation systems and methods using deep learning | |
CN110532195B (zh) | 存储器系统的工作负荷分簇及执行其的方法 | |
CN111540393B (zh) | 用于基于字线分组的读取操作的存储器系统和方法 | |
US9697892B1 (en) | Generation and application of gray codes | |
CN114496044A (zh) | 使用无模型回归的读取阈值优化系统和方法 | |
CN108255634B (zh) | 一种数据读取方法及装置 | |
CN113936715A (zh) | 使用域变换的读取阈值优化系统和方法 | |
CN105654989B (zh) | Nand flash闪存中状态码的验证方法及装置 | |
CN110569143A (zh) | 用于存储器系统的解码器及其方法 | |
US11482287B2 (en) | Memory system and method of controlling memory system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
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. |
|
CP03 | Change of name, title or address |