Nandflash存储器的数字验证方法及系统与流程


nand flash存储器的数字验证方法及系统
技术领域
1.本发明涉及数字验证领域,更具体地涉及一种nand flash存储器的数字验证系统及方法。


背景技术:



2.随着技术发展与市场需求的变化,flash存储器尤其是nand flash存储器有了更多的应用形态和使用需求。由于实际操作时nand flash存储器即使在操作时序和电路稳定性都没有问题的正常读写中依然不可避免地会出现几个bit位的错误,所以flash存储器控制器中往往会有相关的错误检测和纠正的机制(通常称之为error checking and correction,简称ecc),以海明码或者bch算法来保证数据的正确性。同时由于soc芯片存储往往还有ram和rom的存在,根据芯片的功能它们和cpu对flash存储器的数据也会进行各种操作与交互,所以对于flash存储器输出错误数据的验证必不可少。
3.目前业内对于数据造错常见的操作是直接对flash存储器的数据总线某几位进行强制取反(也称之为force操作),使得读flash存储器的数据出现错误。这种做法虽然直观简单,但是灵活性极低,不能满足实际验证工作的复杂需求,需要测试用例与之配合,在项目移植时需要重新检查及编写测试用例,可移植性极差。更为重要的是由于是在数据总线上大量使用force操作,进而不能保证结果仅仅是验证工程师预期中的数据造错而没有对其它的部分造成影响,使得验证结果的可靠性大幅下降,验证风险大幅升高。
4.因此,有必要提供一种改进的nand flash存储器的数字验证系统及方法来克服上述缺陷。


技术实现要素:



5.本发明的目的是提供一种nand flash存储器的数字验证方法及系统,通过本发明的方案,可以在不影响原有验证环境和测试用例的前提下,真实反映实际flash存储器工作时出现的数据错误,不仅有效提高验证的可信程度,而且提升了验证的可移植性和灵活性。
6.为实现上述目的,本发明提供了一种nand flash存储器的数字验证方法,其包括如下步骤:a.检测nand flash存储器总线上的数据信息,计算并记录所述数据的长度和位置;b.随机生成不同的数据错误位置,对错误位置进行记录并排序;c.根据记录的错误位置对nand flash存储器内的数据进行造错;d.对造错后的数据的位置进行标志。
7.较佳地,在所述步骤a之前还包括步骤:预设复现造错模式与固定长度模式。
8.较佳地,所述复现造错模式为,通过比对测试用例根目录下读取的原始数据文件和出错后的数据而得出数据造错的位置;所述固定长度模式为,输入一固定长度作为所述数据信息的长度。
9.较佳地,当检测到总线上命令为写命令时,记录数据的长度并累加,直到接收到读命令,且累加完成的数据长度,为写flash存储器中的总数据长度。
10.较佳地,给定的纠错算法的最大纠错能力确定造错数据的个数。
11.较佳地,所述错误位置包括所述步骤b中随机生成的错误位置与测试案例中的固定错误位置。
12.较佳地,在所述步骤d中,产生第一标志信号与第二标志信号,所述第一标志信号在对应错误数据位置将电平变为高电平,所述错误数据由二进制编码构成,而所述第二标志信号将所述二进制编码的错误位置的电平变为高电平。
13.同时,本发明还提供了一种nand flash存储器的数字验证系统,其包括排序模块、造错模块及标志模块;所述排序模块随机生成数据错误位置,并对所述错误位置进行记录与排序;所述造错模块计算数据的长度并对数据进行造错;所述标志模块根据数据造错的位置,对错误数据进行标志并产生标志信号。
14.较佳地,在所述排序模块中设置有不造错能使端与造错使能端,当打开不造错能使端时,输入所述nand flash存储器的数据不会被造错,当打开造错使能端时,输入所述nand flash存储器的数据将会被造错。
15.较佳地,所述造错模块对nand flash存储器上存储的数据进行位取反操作,以完成造错过程。
16.与现有技术相比,本发明的nand flash存储器的数字验证方法同一笔数据每一次flash读的时候错误有无和位置都随机,与flash真实工作情况一致,保证了验证结果的准确度和可靠性;另外,可对一笔实际的出错前和出错后的数据进行复现的造错,也能在固定位置生成想要的错误,再加上默认的随机造错功能,完善了各式各样的验证功能,使验证过程更为简便;再有本发明的造错功能不需要测试用例的修改配合,对造错的位置进行了标注,便于对错误位置的数据进行分析,使验证的便利性提高;另外,本发明的nand flash存储器的数字验证系统,构建了排序、造错、标志三个功能模块,可作为单独功能模块嵌入到别的带有nand flash存储器的验证环境框架内,极大提升了移植性
17.通过以下的描述并结合附图,本发明将变得更加清晰,这些附图用于解释本发明的实施例。
附图说明
18.图1为本发明nand flash存储器的数字验证方法的流程图。
19.图2为本发明nand flash存储器的读写时序图。
20.图3为本发明nand flash存储器的数字验证方法中数据造错后的标志时序图。
21.图4为图3所示的第二标志信号的每一位的时序图。
22.图5为本发明nand flash存储器的数字验证系统的结构框图。
具体实施方式
23.现在参考附图描述本发明的实施例,附图中类似的元件标号代表类似的元件。如上所述,本发明提供了一种nand flash存储器的数字验证方法及系统,通过本发明的方案,可以在不影响原有验证环境和测试用例的前提下,真实反映实际flash存储器工作时出现的数据错误,不仅有效提高验证的可信程度,而且提升了验证的可移植性和灵活性。
24.请参考图1,图1为本发明nand flash存储器的数字验证方法的流程图,如图所示,本发明的nand flash存储器的数字验证方法包括如下步骤:
25.步骤s001.预设复现造错模式与固定长度模式;具体地,在本步骤中,所述复现造错模式为,通过比对测试用例根目录下读取的原始数据文件和出错后的数据而得出数据造错的位置;所述固定长度模式为,输入一固定长度作为所述数据信息的长度。在本发明的具体实施过程中,本步骤中的预设复现造错模式与固定长度模式是可选择性打开或关闭的,当关闭时,所述预设复现造错模式与固定长度模式在本发明中完全不起作用;因此,在本发明中所述步骤s001为一预设的可选择的步骤。
26.步骤s002.检测nand flash存储器总线上的数据信息,计算并记录所述数据的长度和位置;在本步骤中,若所述步骤s001没有开启复现造错模式和固定长度模式,则数据长度和位置将由flash存储器总线上的信息决定;如图2所示,nand flash存储器在信号cle(命令使能信号)为高,信号wen(写使能信号)为低,信号cen(片选信号)为低且信号ale(地址使能信号)为低时,数据总线上的数据即为发送的命令(也即图2中的io(7:0))。而当监测到总线上命令为写命令时(如’h80等),记录数据的长度并累加,直到接收到读命令,此时累加完成的数据长度,即为写flash存储器中的总数据长度。nand flash存储器在信号cle为低,信号wen为低,信号cen为低且信号ale为高时,数据总线上的数据即为发送的行地址和列地址,根据地址可以得知数据存放的位置。若写数据时地址不连续,则数据长度和地址将分别单独记录,并以此为基础进行后续的步骤。
27.步骤s003.随机生成不同的数据错误位置,对错误位置进行记录并排序;在本步骤中,给定的纠错算法的最大纠错能力确定造错数据的个数决,具体地,本发明不会主动进行超过最大纠错能力范围的数据进行造错,若需要对特别的测试用例进行超出最大纠错能力范围的数据造错,则在测试用例中配合生成随机的固定错误位置,再在固定位置进行造错以超过最大纠错能力。
28.步骤s004.根据记录的错误位置对nand flash存储器内的数据进行造错;在本步骤中,所述错误位置包括所述步骤s003中随机生成的错误位置与测试案例中的固定错误位置,而且这两种错误位置可以同时都存在;确定所有的错误位置信息后,再对flash存储器内的数据进行相应的造错。
29.步骤s005.对造错后的数据的位置进行标志;在本步骤中,对造错后的数据的位置进行标志将产生第一标志信号与第二标志信号,所述第一标志信号在对应错误数据位置将电平变为高电平,所述错误数据由二进制编码构成,而所述第二标志信号将所述二进制编码的错误位置的电平变为高电平;具体地,请再结合参考图3与图4,原为’h00、’h11、’h22和’h33的数据流经造错后变为’h14、’h11、’h22、’h58,在对应错误数据处,第一标志信号errbytes会拉高(如图3所示),表示这个数据出错。第二标志信号errbits的数据则表示这个数据的哪一位出错,如图4所示,所述错误数据由二进制编码errbits(7:0)构成;如’h00出错成

h14时(’b00000000-》’b00010100),则数据的第2位和第4位出错,第二标志信号errbits的第2位和第4位拉高,即为’h14(’b00010100);又如’h33出错成’h58时(’b00110011-》’b01011000),则数据的第0位第1位第3位第5位和第6位出错,则errbits的第0位第1位第3位第5位和第6位拉高(被置为1),即为’h6b(’b01101011),具体如图4所示。直观地也可以用异或运算来表示它们之间的关系(

h00^

h14=

h14;

h33^’h58=

h6b)。
30.如上所述,本发明的nand flash存储器的数字验证方法同一笔数据每一次flash读的时候错误有无和位置都随机,与flash真实工作情况一致,保证了验证结果的准确度和
可靠性;另外,可对一笔实际的出错前和出错后的数据进行复现的造错,也能在固定位置生成想要的错误,再加上默认的随机造错功能,完善了各式各样的验证功能,使验证过程更为简便;再有本发明的造错功能不需要测试用例的修改配合,对造错的位置进行了标注,便于对错误位置的数据进行分析,使验证的便利性提高。
31.另外,本发明还提供了一种nand flash存储器的数字验证系统,请再结合参考图5,本发明的nand flash存储器的数字验证系统包括排序模块、造错模块及标志模块;所述排序模块随机生成数据错误位置,并对所述错误位置进行记录与排序;所述造错模块计算数据的长度并对数据进行造错;所述标志模块根据数据造错的位置,对错误数据进行标志并产生标志信号。作为本发明的一优选实施方式,在所述排序模块中设置有不造错能使端与造错使能端,当打开不造错能使端时,输入所述nand flash存储器的数据不会被造错,当打开造错使能端时,输入所述nand flash存储器的数据将会被造错;通常在默认情况下,所述不造错能使端关闭,而造错使能端打开;设置所述不造错使能端是为处理一些特殊情况,比如有些数据仅需要对中间小部分进行造错,则在进行造错之前需要打开所述不造错使能端;从而使得本发明的nand flash存储器的数字验证系统可应用于各种环境,其应用范围更为广泛。
32.具体地,所述排序模块从nand flash存储器的总线上获取数据长度信息,随机生成错误位置后通过算法进行排序,使生成的错误位置从小到大排列并保证不会出现重复的错误位置生成;排好序的错误位置会被记录在一个动态的数组中,并随后传入所述造错模块和所述标志模块以供使用。所述造错模块若是第一次对新地址进行读操作,则会完全按照所述排序模块和固定错误位置对相应的位置造错,并将地址存放在一个数组中;如果读数据时检测到此次读的地址存在于地址数组中,则会将对应地址的错误位置进行再次随机生成,对错误位置数组对应位置进行重写并传入所述标志模块。其中,所述造错模块对nand flash存储器上存储的数据进行位取反操作,能够较好地模拟flash读出错的情况,提高仿真的可靠性和准确性,因此,所述造错模块对nand flash的造错完全不同于在现有技术中在总线上的直接force操作。而所述标志模块根据接收到的错误位置信息,实时根据nand flash存储器读数据时的不同地址进行相应的错误标志;若此次读的数据没有任何造错信息,则标志模块不会对数据流进行任何标志;反过来说,或标志模块没有进行任何标志,则说明这段数据没有通过本系统进行造错;而且在具体的设计中,nand flash存储器中的数据的交互往往不止自己的读写,因此本发明造错的数据错误与由于设计失误或者流程错误引起的预期外的数据错误能够很好地进行区分,方便验证工作。
33.另外,如上所述,在本发明中,在默认情况下,所述不造错能使端关闭,而造错使能端打开,因此,本发明的nand flash存储器的数字验证系统,不进行任何设置时也会通过读取nand flash存储器总线上读写命令地址和数据信息以获得相应信息,进而根据这些信息进行造错流程;使得即使不对测试用例或环境进行任何改写调整,也能对nnand flash存储器读出的数据进行基本的随机造错,满足基本验证需求。
34.下面,描述本发明的nand flash存储器的数字验证系统的工作过程;
35.开启复现造错模式并将分别为原始数据和出错后数据的两个数据文件放在测试用例根目录下,排序模块读取两个文件中的造错位置信息;查询是否启用固定长度模式,如果启用则将长度及造错位置信息直接传入造错模块;如果不启用则直到在nand flash存储
器的数据总线上检测到读命令为止,不断将写数据的个数进行记录累加,得出长度信息后与造错位置信息一起传入造错模块;造错模块检测nand flash存储器的数据总线上有读命令时,根据得到的长度信息和造错位置信息对相应的数据位置进行造错,并将造错信息传入标志模块;标志模块检测nand flash存储器的数据总线上有读命令时,根据读地址和造错信息对nand flash存储器的对应位置进行标志;检测结束标志,如果结束标志为高,则仿真过程已结束或不再需要进行造错,关闭造错功能,如果结束标志为低,则等待下一个读命令并重复进行造错流程。
36.通过上述过程后,仿真结果发现nand flash存储器读出来的数据确实与预期所希望复现的错误数据一致,因此本系统确实能够简便地实现nand flash存储器的复现两笔数据造错功能。
37.综上所述,本发明的nand flash存储器的数字验证系统,构建了排序、造错、标志三个功能模块,可作为单独功能模块嵌入到别的带有nand flash存储器的验证环境框架内,极大提升了移植性
38.以上结合最佳实施例对本发明进行了描述,但本发明并不局限于以上揭示的实施例,而应当涵盖各种根据本发明的本质进行的修改、等效组合。

技术特征:


1.一种nand flash存储器的数字验证方法,其特征在于,包括如下步骤:a.检测nand flash存储器总线上的数据信息,计算并记录所述数据的长度和位置;b.随机生成不同的数据错误位置,对错误位置进行记录并排序;c.根据记录的错误位置对nand flash存储器内的数据进行造错;d.对造错后的数据的位置进行标志。2.如权利要求1所述的nand flash存储器的数字验证方法,其特征在于,在所述步骤a之前还包括步骤:预设复现造错模式与固定长度模式。3.如权利要求2所述的nand flash存储器的数字验证方法,其特征在于,所述复现造错模式为,通过比对测试用例根目录下读取的原始数据文件和出错后的数据而得出数据造错的位置;所述固定长度模式为,输入一固定长度作为所述数据信息的长度。4.如权利要求1所述的nand flash存储器的数字验证方法,其特征在于,当检测到总线上命令为写命令时,记录数据的长度并累加,直到接收到读命令,且累加完成的数据长度为写flash存储器中的总数据长度。5.如权利要求4所述的nand flash存储器的数字验证方法,其特征在于,给定的纠错算法的最大纠错能力确定造错数据的个数。6.如权利要求4所述的nand flash存储器的数字验证方法,其特征在于,所述错误位置包括所述步骤b中随机生成的错误位置与测试案例中的固定错误位置。7.如权利要求4所述的nand flash存储器的数字验证方法,其特征在于,在所述步骤d中,产生第一标志信号与第二标志信号,所述第一标志信号在对应错误数据位置将电平变为高电平,所述错误数据由二进制编码构成,而所述第二标志信号将所述二进制编码的错误位置的电平变为高电平。8.一种nand flash存储器的数字验证系统,其特征在于,包括排序模块、造错模块及标志模块;所述排序模块随机生成数据错误位置,并对所述错误位置进行记录与排序;所述造错模块计算数据的长度并对数据进行造错;所述标志模块根据数据造错的位置,对错误数据进行标志并产生标志信号。9.如权利要求8所述的nand flash存储器的数字验证系统,其特征在于,在所述排序模块中设置有不造错能使端与造错使能端,当打开不造错能使端时,输入所述nand flash存储器的数据不会被造错,当打开造错使能端时,输入所述nand flash存储器的数据将会被造错。10.如权利要求8所述的nand flash存储器的数字验证系统,其特征在于,所述造错模块对nand flash存储器上存储的数据进行位取反操作,以完成造错过程。

技术总结


本发明公开了一种Nand flash存储器的数字验证方法,其包括如下步骤:a.检测Nand flash存储器总线上的数据信息,计算并记录所述数据的长度和位置;b.随机生成不同的数据错误位置,对错误位置进行记录并排序;c.根据记录的错误位置对Nand flash存储器内的数据进行造错;d.对造错后的数据的位置进行标志。同时,本发明还公开了一种Nand flash存储器的数字验证系统。通过本发明的方案,可以在不影响原有验证环境和测试用例的前提下,真实反映实际flash存储器工作时出现的数据错误,不仅有效提高验证的可信程度,而且提升了验证的可移植性和灵活性。植性和灵活性。植性和灵活性。


技术研发人员:

田淼

受保护的技术使用者:

四川和芯微电子股份有限公司

技术研发日:

2021.11.22

技术公布日:

2022/3/25

本文发布于:2024-09-22 08:21:02,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/11820.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   存储器   所述   位置
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议