CN101887758B - 非挥发性存储器的仿真验证方法 - Google Patents

非挥发性存储器的仿真验证方法 Download PDF

Info

Publication number
CN101887758B
CN101887758B CN200910083915.2A CN200910083915A CN101887758B CN 101887758 B CN101887758 B CN 101887758B CN 200910083915 A CN200910083915 A CN 200910083915A CN 101887758 B CN101887758 B CN 101887758B
Authority
CN
China
Prior art keywords
code
internal clocking
erase
parameter
target
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
Application number
CN200910083915.2A
Other languages
English (en)
Other versions
CN101887758A (zh
Inventor
舒清明
涂美红
胡洪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Geyi Electronic Co ltd
Zhaoyi Innovation Technology Group Co ltd
Original Assignee
GigaDevice Semiconductor Beijing Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by GigaDevice Semiconductor Beijing Inc filed Critical GigaDevice Semiconductor Beijing Inc
Priority to CN200910083915.2A priority Critical patent/CN101887758B/zh
Publication of CN101887758A publication Critical patent/CN101887758A/zh
Application granted granted Critical
Publication of CN101887758B publication Critical patent/CN101887758B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种非挥发性存储器的仿真验证方法,包括:获取仿真存储器,所述仿真存储器具有针对擦除步骤的内部时钟参数,所述内部时钟参数被设置为低于正常值;生成测试代码,依据所述测试代码对存储器的功能进行仿真验证,所述测试代码包括擦除代码和擦除块的地址代码;依据所述擦除块的地址代码确定目标擦除块,并按照所述擦除代码和内部时钟参数对目标擦除块进行擦除步骤的仿真验证。本发明可以在能够保证仿真验证结果的基础上,减少针对存储器功能的仿真验证的时间,提高采用虚拟存储器的仿真验证效率。

Description

非挥发性存储器的仿真验证方法
技术领域
本发明涉及芯片技术领域,特别是涉及两种非挥发性存储器的仿真验证方法。
背景技术
在开发、设计和调试存储器的过程中,需要对存储器的功能进行仿真验证。针对存储器功能的仿真验证可以采用能够代替实际存储器硬件功能的行为模型(即虚拟存储器)来进行,具体可以通过生成测试代码(testbench),使用仿真软件(如NC_verilog软件或modelsim软件)来实现。
现有技术中,对于这种虚拟存储器功能的仿真验证,实质上与实际存储器硬件的仿真验证并无二致,以对某个虚拟闪存(Flash Memory)的进行仿真验证过程的擦除步骤为例,具体所要执行的步骤包括:
步骤S1、加载数据:D8(8位的指令码)和24位的地址;
步骤S2、接收到所述指令和地址后,对指定的Block中所有的地址进行擦除。在执行擦除代码的过程中,通过时间计数器(TMCNT)计数,完成擦除步骤的各个操作状态,即预编程(pre_program)操作、擦除(erase)操作和软编程(soft_program)操作三个状态。
以下根据实际中的情况对非挥发性存储器仿真验证过程的擦除步骤所需花费的时间进一步说明。
一、预编程操作的时间:
预编程操作是针对一个Block中每个的地址所进行的操作,主要需要进行预编程校验(pre_verify)和预编程操作(pre_program):通常,一个Block可以分为256个Page。先对一个Page的地址进行pre_verify,如果校验不正确,则对这个Page进行pre_program;然后再对这个Page进行pre_verify;如果校验正确,则对下一个Page进行pre_verify,如此循环,直至完成256个Page。
一般情况下,一个地址pre_verify状态的TMCNT=2,则一个Blockpre_verify需要花费的时间为2x50x256x256ns,即131072个内部时钟(EMSCLK,一般为50ns):一个地址pre_program状态的TMCNT=50,则一个Block pre_program需要花费的时间为50×50×256×256ns,即3276800个内部时钟。
二、擦除操作的时间:
擦除操作是针对一个Block所进行的操作,主要需要进行擦除操作(erase)和擦除校验(erase_verify)。erase是针对一个Block所有地址一次性同时完成的;erase完成后,再对所有地址顺序进行erase_verify。
一般情况下,一个Block erase状态的TMCNT=499968,即一个Blockerase需要花费的时间为499968个内部时钟;一个地址erase_verify状态的TMCNT=2,则一个Block erase_verify需要花费的时间为2x50x256x256ns,即131072个内部时钟。
三、软编程操作的时间:
软编程操作是针对一个Block中每个地址进行的操作,但此操作是256个page同时进行的。主要需要进行软编程校验(soft_verify)和软编程操作(soft_program):先进行soft_verify操作,如果校验不正确,则进行soft_program,然后再进行soft_verify;正确则结束该仿真验证过程的擦除步骤。
一般情况下,一个Block soft_program是256个page同时进行的,page中每个地址的TMCNT=2000,则一个Block soft_program需要花费的时间为2000x50x256ns,即512000个内部时钟;一个Block soft_verify也是256个page同时进行的,page中每个地址的TMCNT=3,则一个Blocksoft_verify需要花费的时间为3x 50x256ns,即768个内部时钟。
以上操作时序的设计是为了满足状态转换过程中的电压变化,也就是说,只有经过所需要的时间,每个状态中的地址、存储页或存储块才能达到所需要的电压值。从上述操作时序可以看出,在实际中验证存储块不同的操作状态,需要花费很长的时间才能完成,仿真效率极为低下。
因此,目前需要本领域技术人员迫切解决的一个技术问题就是:如何能够创新地提出一种非挥发性存储器的仿真验证机制,在能够保证仿真验证结果的基础上,减少针对存储器功能的仿真验证的时间,提高采用虚拟存储器的仿真验证效率。
发明内容
本发明所要解决的技术问题是提供两种非挥发性存储器的仿真验证方法,用以在能够保证仿真验证结果的基础上,减少针对存储器功能的仿真验证的时间,提高采用虚拟存储器的仿真验证效率。
为了解决上述技术问题,本发明实施例公开了一种非挥发性存储器的仿真验证方法,包括:
获取仿真存储器,所述仿真存储器具有针对擦除步骤的内部时钟参数,所述内部时钟参数被设置为低于正常值;
生成测试代码,依据所述测试代码对存储器的功能进行仿真验证,所述测试代码包括擦除代码和擦除块的地址代码;
依据所述擦除块的地址代码确定目标擦除块,并按照所述擦除代码和内部时钟参数对目标擦除块进行擦除步骤的仿真验证。
优选的,所述擦除步骤包括预编程操作、擦除操作和软编程操作;所述内部时钟参数包括针对所述擦除操作的第一内部时间参数,针对预编程操作的第二内部时钟参数,以及,针对软编程操作的第三内部时钟参数;其中,所述第一内部时钟参数被设置为低于第一正常值,所述第二内部时钟参数被设置为低于第二正常值,所述第三内部时钟参数被设置为低于第三正常值;所述擦除代码包括预编程操作代码、擦除操作代码和软编程操作代码,所述擦除步骤的仿真验证步骤包括:
预编程校验步骤、校验所述目标擦除块是否需要进行预编程操作,若是,则执行预编程步骤;若否,则执行擦除步骤;
预编程步骤、按照所述第二内部时钟参数和预编程操作代码对目标擦除块进行预编程操作,并返回执行预编程校验步骤;
擦除步骤、按照所述第一内部时钟参数和擦除操作代码对目标擦除块进行擦除操作;
擦除校验步骤、校验所述擦除操作是否成功,若否,则返回执行擦除步骤;若是,则执行软编程校验步骤;
软编程校验步骤、校验所述目标擦除块是否需要进行软编程操作,若是,则执行软编程步骤;若否,则结束所述擦除步骤的仿真验证过程;
软编程步骤、按照所述第三内部时钟参数和软编程操作代码对目标擦除块进行软编程操作,并返回执行软编程校验步骤。
优选的,所述内部时钟参数还包括针对写操作的第四内部时钟参数,所述第四内部时钟参数被设置为低于第四正常值;所述测试代码还包括写操作代码和写入存储页的地址代码;所述方法还包括:
依据所述写入存储页的地址代码确定目标写入存储页,并按照所述写操作代码和第四内部时钟参数对目标写入存储页进行写操作的仿真验证。
优选的,所述写操作功能仿真验证的步骤包括:
写入校验步骤、校验所述目标写入存储页是否可以写入;若是,则执行写入步骤;若否,则结束所述写操作的仿真验证过程;
写入步骤、按照所述第四内部时钟参数和写操作代码对目标写入存储页进行写操作,并返回执行写入校验步骤。
优选的,所述第一内部时钟参数为针对目标擦除块进行操作的时间参数,所述第一正常值为499968个内部时钟;所述第二内部时钟参数为针对目标擦除块中每个存储页的每个地址进行操作的时间参数,所述第二正常值为50个内部时钟;所述第三内部时钟参数为针对目标擦除块中每个存储页的每个地址进行操作的时间参数,所述第三正常值为2000个内部时钟。
优选的,所述第四内部时钟参数为针对目标写入存储页的每个地址进行操作的时间参数,所述第四正常值为50个内部时钟。
本发明实施例还公开了一种非挥发性存储器的仿真验证方法,包括:
获取仿真存储器,所述仿真存储器具有针对写操作的内部时钟参数,所述写操作内部时钟参数被设置为低于正常值;
生成测试代码,依据所述测试代码对存储器的功能进行仿真验证,所述测试代码包括写操作代码和写入存储页的地址代码;
依据所述写入存储页的地址代码确定目标写入存储页,并按照所述写操作代码和写操作内部时钟参数对目标写入存储页进行写操作的仿真验证。
优选的,所述写操作功能仿真验证的步骤包括:
校验所述目标写入存储页是否可以写入;
若是,则按照所述写操作内部时钟参数和写操作代码对目标写入存储页进行写操作,并返回所述校验步骤;
若否,则结束所述写操作的仿真验证过程。
优选的,所述写操作内部时钟参数为针对目标写入存储页的每个地址进行操作的时间参数,所述正常值为50个内部时钟。
与现有技术相比,本发明具有以下优点:
本发明通过设置非挥发性存储器中针对擦除步骤和/或写操作的内部时钟参数为低于正常值的参数,来减少相应的操作状态所需要花费的时间,从而加快操作的完成,提高存储器功能仿真验证的效率;并且,由于仅仅是减少实际中电流电压变化的时序,所以并不会影响存储器功能的仿真验证结果。本方案采用了本领域技术人员由于技术偏见而舍弃的技术手段,以简单易行的方式很好地解决了存储器功能仿真验证的时间过长,仿真效率低下的问题。
附图说明
图1是本发明的一种非挥发性存储器的仿真验证方法实施例1的流程图;
图2是本发明的一种非挥发性存储器的仿真验证方法实施例2的流程图;
图3是本发明的一种非挥发性存储器的仿真验证方法实施例3的流程图;
图4是本发明的一种非挥发性存储器的仿真验证方法实施例4的流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
随着仿真技术的发展,针对存储器功能的仿真验证,一般都是采用能够代替实际存储器硬件功能的行为模型(即虚拟存储器)来进行,这种虚拟存储器可以模拟实际存储器硬件的电路工作情况;相关技术人员在进行仿真验证的过程中,可以通过写入测试代码(testbench)来模拟该存储器电路的外部环境,然后用仿真软件来查看这个电路的输出信号的波形,即仿真验证结果。
例如,写入测试代码为:
Command:02h  24’h000000 8’h12 8’h34 8’h56……
其中,02h是指令代码(写操作);24’h000000是首地址代码;8’h12、8’h34和8’h56是指将这些数据分别写入地址24’h000000、24’h000001和24’h000002中。
基于上述指令,执行写操作(page program)的功能仿真验证过程为:
A[23:0]=24’h000000,写入的数据D[7:0]=8’h12;
A[23:0]=24’h000001,写入的数据D[7:0]=8’h34;
A[23:0]=24’h000002,写入的数据D[7:0]=8’h56;
……
或如,写入测试代码为:
Command:03h  24’h000000
其中,03h是指令代码(读操作);24’h000000是首地址代码;
执行写操作(page program),然后再进行读数据操作(read data)的功能仿真验证过程为:
A[23:0]=24’h000000,读出的数据D[7:0]=8’h12;
A[23:0]=24’h000001,读出的数据D[7:0]=8’h34;
A[23:0]=24’h000002,读出的数据D[7:0]=8’h56;
……
或如,写入测试代码为:
Command:D8h 24’h000000
其中,D8h是指令代码(擦除操作);24’h000000是首地址代码;
当执行块擦除操作时,以首地址(24’h000000)对应的一个Block进行擦除,也就是从地址24’h000000到24’h00ffff所有的地址进行擦除。
顺序执行写操作,读操作,擦除操作,读操作的功能仿真验证结果为:
A[23:0]=24’h000000,读出的数据D[7:0]=8’hff;
A[23:0]=24’h000001,读出的数据D[7:0]=8’hff;
A[23:0]=24’h000002,读出的数据D[7:0]=8’hff;
……
可以理解的是,为了保证仿真验证结果的有效性,这种虚拟存储器必须尽可能真实地反映实际存储器硬件的工作情况,在实际存储器的电路设计中,是靠电压和电流来进行电路的验证。而相应于不同操作,电压和电流是变化的,并且这种变化需要一定时间才能完成。所以,现有技术在采用虚拟存储器进行存储器功能的仿真验证时,为尽可能真实地模拟实际存储器,会针对各个操作相应设计满足电流电压变化的时序,例如,实际存储器中一个Block的擦除操作需要花费499968x50ns的时间,那么在虚拟存储器中也会相应地设计该操作的时序为:TMCNT=499968。
上述做法是长期以来本领域技术人员的处理方式,现有技术中,即使希望在保证仿真验证结果的基础上,减少仿真验证的时间,提高仿真验证效率,本领域技术人员也只会从简化测试代码、减少设计逻辑、提高软件运行效率的角度来考虑,并不会去考虑其它方面的可能性。
然而,本专利发明人注意到,在针对存储器功能的仿真验证中,只有三种逻辑值,即:0(低电平),1(高电平),Z(高阻),通过这些逻辑值就可以验证电路功能是否正确。在进行擦除步骤的仿真验证时,主要验证的是擦除的功能是否正确,操作时序并不是重点。从实际情况而言,擦除步骤在电路设计中通过TMCNT计数来完成各个操作状态,当TMCNT为某一定值时,结束当前的状态,进入下一个状态,电压也随之改变。而事实上,在进行存储器功能的仿真验证时,0和1之间的互相转换是瞬时改变的,并不需要花费时间。
对此,本专利发明人提出了一种创新的存储器功能的仿真验证方案,该方案的核心构思之一在于,通过设置非挥发性存储器中针对擦除步骤和/或写操作的内部时钟参数为低于正常值的参数,来减少相应的操作状态所需要花费的时间,从而加快操作的完成,提高存储器功能仿真验证的效率;并且,由于仅仅是减少实际中电流电压变化的时序,所以并不会影响存储器功能的仿真验证结果。本方案采用了本领域技术人员由于技术偏见而舍弃的技术手段,以简单易行的方式很好地解决了存储器功能仿真验证的时间过长,仿真效率低下的问题。
参考图1,示出了本发明的一种非挥发性存储器的仿真验证方法实施例1的流程图,具体可以包括以下步骤:
步骤101、获取仿真存储器,所述仿真存储器具有针对擦除步骤的内部时钟参数,所述内部时钟参数被设置为低于正常值;
步骤102、生成测试代码,依据所述测试代码对存储器的功能进行仿真验证,所述测试代码包括擦除代码和擦除块的地址代码;
步骤103、依据所述擦除块的地址代码确定目标擦除块,并按照所述擦除代码和内部时钟参数对目标擦除块进行擦除步骤的仿真验证。
由于在仿真验证过程中,擦除步骤所花费的时间是最长的,一般而言,经过预编程操作状态时,一个Block需要花3276800个EMSCLK时间才能完成;经过擦除(erase)操作状态时,一个Block需要花499968个EMSCLK时间才能完成;经过软编程操作状态时,一个Block需要花512000个EMSCLK时间才能完成。因而在本实施例中,可以将针对擦除步骤的内部时钟参数设置为低于正常值,即完全不考虑电流电压变化的时间,只留出擦除步骤执行的时间即可,从而不仅不会影响仿真验证结果,还有效减少了存储器功能的仿真验证中擦除步骤所花费的时间,提高了采用虚拟存储器的仿真验证效率。
在具体实现中,所述内部时钟参数可以在存储器的TMCNT中设置。在这种情况下,所述内部时钟参数则可以根据实际中TMCNT的取值要求来设定,例如,在预编程和软编程操作中,所述内部时钟参数可以为针对目标擦除块中每个存储页的每个地址进行操作的时间参数;在擦除操作中,所述内部时钟参数可以为针对目标擦除块进行操作的时间参数。
参考图2,示出了本发明的一种非挥发性存储器的仿真验证方法实施例2的流程图,具体可以包括以下步骤:
步骤201、获取仿真存储器,所述仿真存储器具有针对擦除步骤的内部时钟参数;其中,所述擦除步骤包括预编程操作、擦除操作和软编程操作;所述内部时钟参数包括针对所述擦除操作的第一内部时间参数,针对预编程操作的第二内部时钟参数,以及,针对软编程操作的第三内部时钟参数;并且,所述第一内部时钟参数被设置为低于第一正常值,所述第二内部时钟参数被设置为低于第二正常值,所述第三内部时钟参数被设置为低于第三正常值;
在具体实现中,所述第一内部时钟参数、第二内部时钟参数和第三内部时钟参数均可以在存储器的TMCNT中设置。其中,所述第一内部时钟参数为控制目标擦除块进行操作的时间参数;优选的,所述第一正常值可以为499968个内部时钟,也就是说,针对擦除操作的TMCNT可以设置为1-499967;所述第二内部时钟参数为控制目标擦除块中每个存储页的每个地址进行操作的时间参数;优选的,所述第二正常值可以为50个内部时钟,也就是说,针对预编程操作的TMCNT可以设置为1-49;所述第三内部时钟参数为控制目标擦除块中每个存储页的每个地址进行操作的时间参数;优选的,所述第三正常值可以为2000个内部时钟,也就是说,针对软编程操作的TMCNT可以设置为1-1999。
步骤202、生成测试代码,依据所述测试代码对存储器的功能进行仿真验证,所述测试代码包括擦除代码和擦除块的地址代码;其中,所述擦除代码包括预编程操作代码、擦除操作代码和软编程操作代码;
步骤203、依据所述擦除块的地址代码确定目标擦除块,并按照所述擦除代码和内部时钟参数对目标擦除块进行擦除步骤的仿真验证。
具体可以包括以下子步骤:
子步骤2031、校验所述目标擦除块是否需要进行预编程操作,若是,则执行子步骤2032;若否,则执行子步骤2033;
子步骤2032、按照所述第二内部时钟参数和预编程操作代码对目标擦除块进行预编程操作,并返回执行子步骤2031;
子步骤2033、按照所述第一内部时钟参数和擦除操作代码对目标擦除块进行擦除操作;
子步骤2034、校验所述擦除操作是否成功,若否,则返回执行子步骤2033;若是,则执行子步骤2035;
子步骤2035、校验所述目标擦除块是否需要进行软编程操作,若是,则执行子步骤2036;若否,则执行子步骤2037;
子步骤2036、按照所述第三内部时钟参数和软编程操作代码对目标擦除块进行软编程操作,并返回执行子步骤2035;
子步骤2037、结束所述擦除步骤的仿真验证过程。
本发明实施例优选应用在闪存(Flash Memory)中。闪存是一种基于半导体的存储器,具有系统掉电后仍可保留内部信息、在线擦写等功能特点,闪存的擦除方法是在源极加正电压,利用浮动栅极与源极之间的隧道效应,把注入至浮动栅极的负电荷吸引到源极。由于利用源极加正电压擦除,因此各单元的源极联在一起,所以闪存不能按字节擦除,而只能以Block(块)为单位进行擦除,并且这种擦除需要针对Block中的每个地址执行预编程(pre-program)、擦除(erase)及软编程(post-program)操作。
以下以针对闪存仿真验证过程中的一个Block擦除为例,更进一步说明本实施例。
步骤B1、生成testbench,采用NC_verilog软件或者modelsim软件对所述闪存的功能进行仿真验证;
公知的是,闪存采用SPI(串行外设接口)技术,发指令和传送数据或地址都是采用8位串行传送的方式。
步骤B2、对闪存中的一个Block进行擦除,在这种情况下,所加载的数据是:D8(8位的指令码)+24位地址,接受到指令和地址后,将对指定Block中所有的地址进行擦除;
例如,若指令为:D8h+24’h000000,则是以首地址(24’h000000)对应的一个Block进行擦除,也就是从地址24’h000000到24’h00ffff所有的地址进行擦除。
在执行擦除步骤的过程中,通过TMCNT计数,来进行各个操作状态的完成,具体包括:
子步骤B21、经过第一个操作状态预编程校验(pre_verify),即校验目标Block是否需要进行预编程操作;
具体为,顺序读出目标Block中每个page中每个地址的数据SAOUT,并判断SAOUT的值是否为全“0”,如果不为全“0”,则确定当前page需要进行预编程操作,执行子步骤B22;如果全为“0”,则确定当前page无需进行预编程操作,进行下个page的校验,直到256个page完成后,执行子步骤B23;
子步骤B22、进入第二个操作状态预编程(pre_program),即对目标Block中的相应page中每个地址写为全“1”,采用现有技术,每个page中每个地址需要花50个EMSCLK(内部时钟50ns)时间写数据,即需要设置TMCNT=50,才能完成一个page中一个地址的pre_program过程。而应用本发明,针对Block中的相应page的每个地址设置TMCNT=10,同样也可以把一个page中一个地址写为全“1”,完成一个page中一个地址的pre_program过程。直到完成一个page中256个地址pre_program过程
针对Block中的某个page执行完子步骤B22后,需要再返回子步骤B21,在获得校验结果为全0,即无需预编程的情况下,继续对Block中的下一个page执行子步骤B21和B22;直至完成Block中的所有page。当一个Block中的所有page经子步骤B21校验为全“0”时,执行子步骤B23。
子步骤B23、进入第三个操作状态擦除(erase),将目标Block写“0”,此操作是针对一个Block中的所有page一次性同时完成的。采用现有技术,一个Block需要花499968个EMSCLK(内部时钟)时间擦除,即需要设置TMCNT=499968,才能完成一个erase过程。而应用本发明,针对Block设置TMCNT=10,同样也可以把一个Block写成“0”,完成一个Block的erase过程;然后进入子步骤B24;
子步骤B24、进入第四个操作状态擦除校验(erase_verify),即校验上述erase操作是否成功;
这个操作是针对一个block中的所有page顺序执行的,通过顺序读出每个地址的数据SAOUT来判断其的值是否为全“1”,如果为全“1”,则继续读下一个地址,直到完成一个block中所有的地址后,则执行子步骤B25;如果不为全“1”,则保存第一个不为全“1”所对应的地址ADDR,中断子步骤B24,返回步骤B23重新擦除block,擦除结束进入子步骤B24,从地址ADDR开始进行erase_verify。
子步骤B25、进入第五个操作状态软编程校验(soft_verify),即校验所述目标擦除块是否需要进行软编程操作;
soft_verify是进行erase后电压的比较,是针对一个Block中的所有page同时进行的操作,如果erase后的电压没有达到稳定的电压,将执行子步骤B26;如果达到稳定电压,整个状态将结束,擦除步骤完成。
子步骤B26、进入第六个操作状态软编程(soft_program),对目标Block中所有page同时进行写操作,以改变电压值。采用现有技术,每个page中每个地址需要2000个EMSCLK时间写数据,即需要设置TMCNT=2000,才能完成一个page中一个地址的soft_program过程。而应用本发明,设置TMCNT=10,同样也可以把一个page中一个地址写为全“0”,直到完成一个page中256个地址soft_program,同时执行一个Block中所有page的soft_program。后,再返回执行子步骤B25进行校验,若已达到稳定电压,则结束擦除步骤。
从上述过程可以看出,在针对存储器功能进行仿真验证时,把针对擦除步骤各个操作状态的TMCNT设置低于正常值的较小值,不但不影响各个状态读写的操作和结果,还能大大提高验证的效率。
参考图3,示出了本发明的一种非挥发性存储器的仿真验证方法实施例3的流程图,具体可以包括以下步骤:
步骤301、获取仿真存储器,所述仿真存储器具有针对擦除操作的第一内部时钟参数,针对预编程操作的第二内部时钟参数,针对软编程操作的第三内部时钟参数,以及,具有针对写操作的第四内部时钟参数;
其中,所述第一内部时钟参数被设置为低于第一正常值,所述第二内部时钟参数被设置为低于第二正常值,所述第三内部时钟参数被设置为低于第三正常值,所述第四内部时钟参数被设置为低于第四正常值。
在具体实现中,所述第一内部时钟参数、第二内部时钟参数和第三内部时钟参数均可以在存储器的TMCNT中设置。其中,所述第一内部时钟参数为控制目标擦除块进行操作的时间参数;优选的,所述第一正常值可以为499968个内部时钟,也就是说,针对擦除操作的TMCNT可以设置为1-499967;所述第二内部时钟参数为控制目标擦除块中每个存储页的每个地址进行操作的时间参数;优选的,所述第二正常值可以为50个内部时钟,也就是说,针对预编程操作的TMCNT可以设置为1-49;所述第三内部时钟参数为控制目标擦除块中每个存储页的每个地址进行操作的时间参数;优选的,所述第三正常值可以为2000个内部时钟,也就是说,针对软编程操作的TMCNT可以设置为1-1999;所述第四内部时钟参数为针对目标写入存储页的每个地址进行操作的时间参数;优选的,所述第四正常值可以为50个内部时钟,也就是说,针对写操作的TMCNT可以设置为1-49。
步骤302、生成测试代码,依据所述测试代码对存储器的功能进行仿真验证,所述测试代码包括擦除代码和擦除块的地址代码,以及,写操作代码和写入存储页的地址代码;其中,所述擦除代码包括预编程操作代码、擦除操作代码和软编程操作代码;
步骤303a、依据所述擦除块的地址代码确定目标擦除块,并按照所述擦除操作代码和第一内部时钟参数、预编程操作代码和第二内部时钟参数、软编程操作代码和第三内部时钟参数,对目标擦除块进行擦除步骤的仿真验证。
具体地,所述擦除步骤的仿真验证步骤可以包括以下子步骤:
子步骤C1、校验所述目标擦除块是否需要进行预编程操作,若是,则执行子步骤C2;若否,则执行子步骤C3;
子步骤C2、按照所述第二内部时钟参数和预编程操作代码对目标擦除块进行预编程操作,并返回执行子步骤C1;
子步骤C3、按照所述第一内部时钟参数和擦除操作代码对目标擦除块进行擦除操作;
子步骤C4、校验所述擦除操作是否成功,若否,则返回执行子步骤C3;若是,则执行子步骤C5;
子步骤C5、校验所述目标擦除块是否需要进行软编程操作,若是,则执行子步骤C6;若否,则执行子步骤C7;
子步骤C6、按照所述第三内部时钟参数和软编程操作代码对目标擦除块进行软编程操作,并返回执行子步骤C5;
子步骤C7、结束所述擦除步骤的仿真验证过程。
步骤303b、依据所述写入存储页的地址代码确定目标写入存储页,并按照所述写操作代码和第四内部时钟参数对目标写入存储页进行写操作的仿真验证。
优选的,所述写操作功能仿真验证的步骤303b可以包括以下子步骤:
子步骤D1、校验所述目标写入存储页是否可以写入;若是,则执行子步骤D2;否则结束所述写操作的仿真验证过程;
子步骤D2、按照所述第四内部时钟参数和写操作代码对目标写入存储页进行写操作,并返回执行所述子步骤D1。
本实施例与图2所示实施例的区别在于,进一步减少存储器功能仿真验证过程中写操作指令操作状态的时间,从而进一步在不影响验证结果的基础上,加快擦除步骤的完成,减少针对存储器功能的仿真验证的时间,提高采用虚拟存储器的仿真验证效率。
参考图4,示出了本发明的一种非挥发性存储器的仿真验证方法实施例4的流程图,具体可以包括以下步骤:
步骤401、获取仿真存储器,所述仿真存储器具有针对写操作的内部时钟参数,所述写操作内部时钟参数被设置为低于正常值;
步骤402、生成测试代码,依据所述测试代码对存储器的功能进行仿真验证,所述测试代码包括写操作代码和写入存储页的地址代码;
步骤403、依据所述写入存储页的地址代码确定目标写入存储页,并按照所述写操作代码和写操作内部时钟参数对目标写入存储页进行写操作的仿真验证。
在本发明的一种优选实施例中,所述写操作功能仿真验证的步骤可以包括以下子步骤:
子步骤4031、校验所述目标写入存储页是否可以写入;若是,则执行子步骤4032;否则执行子步骤4033;
子步骤4032、按照所述写操作内部时钟参数和写操作代码对目标写入存储页进行写操作,并返回所述子步骤4031;
子步骤4033、结束所述写操作的仿真验证过程。
在本实施例中,所述写操作内部时钟参数为针对目标写入存储页的每个地址进行操作的时间参数,优选的,所述正常值可以为50个内部时钟,也就是说,所述写操作内部时钟参数可以设置为1-49中的任一值。
本实施例与图1、图2和图3所示实施例的区别在于,在仿真验证过程中,仅减少写操作的时间,可以理解,本方案依旧可以在不影响仿真验证结果的基础上,达到提高仿真验证效率的目的。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上对本发明所提供的非挥发性存储器的仿真验证方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (9)

1.一种非挥发性存储器的仿真验证方法,其特征在于,包括:
获取虚拟存储器,所述虚拟存储器具有针对擦除步骤的三个内部时钟参数,所述内部时钟参数被设置为低于正常值;所述擦除步骤包括预编程操作、擦除操作和软编程操作;所述内部时钟参数包括针对所述擦除操作的第一内部时间参数,针对预编程操作的第二内部时钟参数,以及,针对软编程操作的第三内部时钟参数;其中,所述第一内部时钟参数被设置为低于第一正常值,所述第二内部时钟参数被设置为低于第二正常值,所述第三内部时钟参数被设置为低于第三正常值;所述第一正常值为499968个内部时钟;所述第二正常值为50个内部时钟;所述第三正常值为2000个内部时钟;
生成测试代码,依据所述测试代码对存储器的功能进行仿真验证,所述测试代码包括擦除代码和擦除块的地址代码;
依据所述擦除块的地址代码确定目标擦除块,并按照所述擦除代码和内部时钟参数对目标擦除块进行擦除步骤的仿真验证。
2.如权利要求1所述的方法,其特征在于,所述擦除代码包括预编程操作代码、擦除操作代码和软编程操作代码,所述擦除步骤的仿真验证步骤包括:
预编程校验步骤、校验所述目标擦除块是否需要进行预编程操作,若是,则执行预编程步骤;若否,则执行擦除步骤;
预编程步骤、按照所述第二内部时钟参数和预编程操作代码对目标擦除块进行预编程操作,并返回执行预编程校验步骤;
擦除步骤、按照所述第一内部时钟参数和擦除操作代码对目标擦除块进行擦除操作;
擦除校验步骤、校验所述擦除操作是否成功,若否,则返回执行擦除步骤;若是,则执行软编程校验步骤;
软编程校验步骤、校验所述目标擦除块是否需要进行软编程操作,若是,则执行软编程步骤;若否,则结束所述擦除步骤的仿真验证过程;
软编程步骤、按照所述第三内部时钟参数和软编程操作代码对目标擦除块进行软编程操作,并返回执行软编程校验步骤。
3.如权利要求1或2所述的方法,其特征在于,所述内部时钟参数还包括针对写操作的第四内部时钟参数,所述第四内部时钟参数被设置为低于第四正常值,所述第四正常值为50个内部时钟;所述测试代码还包括写操作代码和写入存储页的地址代码;所述方法还包括:
依据所述写入存储页的地址代码确定目标写入存储页,并按照所述写操作代码和第四内部时钟参数对目标写入存储页进行写操作的仿真验证。
4.如权利要求3所述的方法,其特征在于,所述写操作功能仿真验证的步骤包括:
写入校验步骤、校验所述目标写入存储页是否可以写入;若是,则执行写入步骤;若否,则结束所述写操作的仿真验证过程;
写入步骤、按照所述第四内部时钟参数和写操作代码对目标写入存储页进行写操作,并返回执行写入校验步骤。
5.如权利要求2所述的方法,其特征在于,所述第一内部时钟参数为针对目标擦除块进行操作的时间参数,所述第二内部时钟参数为针对目标擦除块中每个存储页的每个地址进行操作的时间参数;所述第三内部时钟参数为针对目标擦除块中每个存储页的每个地址进行操作的时间参数。
6.如权利要求3所述的方法,其特征在于,所述第四内部时钟参数为针对目标写入存储页的每个地址进行操作的时间参数。
7.一种非挥发性存储器的仿真验证方法,其特征在于,包括:
获取虚拟存储器,所述虚拟存储器具有针对写操作的内部时钟参数,所述写操作内部时钟参数被设置为低于正常值,所述正常值为50个内部时钟;生成测试代码,依据所述测试代码对存储器的功能进行仿真验证,所述测试代码包括写操作代码和写入存储页的地址代码;
依据所述写入存储页的地址代码确定目标写入存储页,并按照所述写操作代码和写操作内部时钟参数对目标写入存储页进行写操作的仿真验证。
8.如权利要求7所述的方法,其特征在于,所述写操作功能仿真验证的步骤包括:
校验所述目标写入存储页是否可以写入;
若是,则按照所述写操作内部时钟参数和写操作代码对目标写入存储页进行写操作,并返回所述校验步骤;
若否,则结束所述写操作的仿真验证过程。
9.如权利要求7或8所述的方法,其特征在于,所述写操作内部时钟参数为针对目标写入存储页的每个地址进行操作的时间参数。
CN200910083915.2A 2009-05-12 2009-05-12 非挥发性存储器的仿真验证方法 Active CN101887758B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910083915.2A CN101887758B (zh) 2009-05-12 2009-05-12 非挥发性存储器的仿真验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910083915.2A CN101887758B (zh) 2009-05-12 2009-05-12 非挥发性存储器的仿真验证方法

Publications (2)

Publication Number Publication Date
CN101887758A CN101887758A (zh) 2010-11-17
CN101887758B true CN101887758B (zh) 2013-01-16

Family

ID=43073624

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910083915.2A Active CN101887758B (zh) 2009-05-12 2009-05-12 非挥发性存储器的仿真验证方法

Country Status (1)

Country Link
CN (1) CN101887758B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103854700B (zh) * 2014-02-28 2018-05-01 北京兆易创新科技股份有限公司 一种非易失性存储器的擦除方法和装置
CN110473585B (zh) * 2019-07-31 2021-02-26 珠海博雅科技有限公司 一种擦失效存储单元的替换方法、装置、设备及存储介质
CN111209660A (zh) * 2019-12-31 2020-05-29 深圳市芯天下技术有限公司 一种Nor Flash仿真与验证系统
CN112464498B (zh) * 2020-12-24 2021-11-09 芯天下技术股份有限公司 一种存储器的真实建模验证方法、装置、存储介质和终端

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5291584A (en) * 1991-07-23 1994-03-01 Nexcom Technology, Inc. Methods and apparatus for hard disk emulation
CN1534753A (zh) * 2003-03-27 2004-10-06 中国科学院计算技术研究所 一种准单跳变测试集的低功耗内建自测试产生器
CN1551225A (zh) * 2003-05-12 2004-12-01 内建自行测试系统及方法
CN1773513A (zh) * 2004-11-09 2006-05-17 华为技术有限公司 先进先出仿真单元及逻辑验证仿真系统
CN101076866A (zh) * 2004-11-12 2007-11-21 Ati科技公司 配置集成电路的系统和方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5291584A (en) * 1991-07-23 1994-03-01 Nexcom Technology, Inc. Methods and apparatus for hard disk emulation
CN1534753A (zh) * 2003-03-27 2004-10-06 中国科学院计算技术研究所 一种准单跳变测试集的低功耗内建自测试产生器
CN1551225A (zh) * 2003-05-12 2004-12-01 内建自行测试系统及方法
CN1773513A (zh) * 2004-11-09 2006-05-17 华为技术有限公司 先进先出仿真单元及逻辑验证仿真系统
CN101076866A (zh) * 2004-11-12 2007-11-21 Ati科技公司 配置集成电路的系统和方法

Also Published As

Publication number Publication date
CN101887758A (zh) 2010-11-17

Similar Documents

Publication Publication Date Title
CN102332311B (zh) 一种基于fpga的nand flash器件单粒子效应测试方法
CN101923899B (zh) 一种非易失存储器的擦除方法及装置
CN101887758B (zh) 非挥发性存储器的仿真验证方法
CN104134459A (zh) 带有可变验证操作的非易失性存储器(nvm)
CN106484316A (zh) 用来管理一记忆装置的方法以及记忆装置与控制器
CN109144515A (zh) Dcs图形化算法组态的离线仿真方法和装置
CN105373338A (zh) 一种flash的控制方法和控制器
CN110058799A (zh) 存储器装置及操作存储器装置的方法
CN102592679B (zh) 一种闪存芯片的测试方法和闪存芯片
CN104765569A (zh) 数据写入方法、存储器控制电路单元与存储器储存装置
CN101923900A (zh) 一种非易失存储器的擦除方法及装置
CN103996416A (zh) 一种可重用的ftl验证方法
CN103970665A (zh) 一种模拟spi flash的fpga系统及调试方法
CN115080471A (zh) 基于FPGA的nand flash接口控制器及读写方法
CN104916321B (zh) 可再编程存储器中的一次编程
CN103577344A (zh) 数据写入方法、存储器控制器与存储器储存装置
JPH10241376A (ja) 不揮発性半導体記憶装置
CN109524047B (zh) 快闪存储器的字节编程重试方法
CN116312720A (zh) 一种嵌入式eeprom的可测性设计方法、系统及终端
CN212782027U (zh) 一种支持掉电数据随机化的flash仿真器
CN107644666A (zh) 一种自适应闪存写入操作控制方法及电路
CN102591738B (zh) 数据管理方法、存储器控制器与嵌入式存储器储存装置
CN115509442A (zh) 闪存颗粒调试方法、闪存颗粒调试设备和可读存储介质
CN111863096B (zh) 一种NOR flash存储器读数据的方法和装置
CN111597699B (zh) 一种支持掉电数据随机化的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
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 100083 Beijing City, Haidian District Xueyuan Road No. 30, large industrial building A12

Applicant after: GIGADEVICE SEMICONDUCTOR Inc.

Address before: 100084 room B301, research building, Tsinghua University, Beijing, Haidian District

Applicant before: GigaDevice Semiconductor Inc.

C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: BEIJING GIGADEVICE SEMICONDUCTOR CO., LTD.

Free format text: FORMER NAME: BEIJING GIGADEVICE SEMICONDUCTOR INC.

CP01 Change in the name or title of a patent holder

Address after: 100083 Beijing City, Haidian District Xueyuan Road No. 30, large industrial building A12

Patentee after: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc.

Address before: 100083 Beijing City, Haidian District Xueyuan Road No. 30, large industrial building A12

Patentee before: GigaDevice Semiconductor Inc.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20161223

Address after: 201203 Shanghai Guo Shou Jing Road, Zhangjiang hi tech Park No. 498 Building 1 502/15

Patentee after: SHANGHAI GEYI ELECTRONIC Co.,Ltd.

Patentee after: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc.

Address before: 100083 Beijing City, Haidian District Xueyuan Road No. 30, large industrial building A12

Patentee before: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 502 / 15, building 1, 498 GuoShouJing Road, Zhangjiang High Tech Park, Pudong New Area, Shanghai 201203

Patentee after: SHANGHAI GEYI ELECTRONIC Co.,Ltd.

Patentee after: Zhaoyi Innovation Technology Group Co.,Ltd.

Address before: 502 / 15, building 1, 498 GuoShouJing Road, Zhangjiang hi tech park, Shanghai, 201203

Patentee before: SHANGHAI GEYI ELECTRONIC Co.,Ltd.

Patentee before: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc.